일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 안드로이드13
- binding adapter
- IntentTestRule
- 재사용
- fragment
- 안드로이드
- 안드로이드개발레벨업교과서
- 고차함수
- Fragment 수동 추가
- recyclerview
- high order function
- LayoutManger
- 구분선
- Android
- 스와이프
- searchview
- 안드로이드스튜디오
- Fragment에서 Activity의 함수 사용하기
- espresso
- 뷰변경 감지
- 리사이클러뷰
- adapter
- ui test
- 코딜리티
- 생명주기
- ActivityTestRule
- Error:Execution failed for task ':app:mergeDebugResources'
- viewholder
- 테마 아이콘
- 코틀린
Archives
- Today
- Total
룬아님의 취중코딩
(레포지토리 패턴) local과 remote 중 하나에서만 작동하는 기능이 필요할 때 본문
레포지토리 패턴을 구현하면 하나의 데이터 소스를 상속 받아 local 데이터 소스와 remote 데이터 소스를 구현하게 된다.
완벽하게 같은 기능을 하는 경우에는 양쪽의 기능을 구현하면 되지만 local이나 remote에서만 사용되는 기능(예 : 북마크)은 어떻게 구현해야 할까라는 의문이 들었다.
우선적으로 들었던 생각은 해당 기능을 아예 다른 레포지토리로 분리하는 방법이였는데 유사한 기능을 가진 레포지토리를 2개를 만드는 것은 레포지토리 패턴을 사용하는 의도와 다르다는 생각이 들었다.
그러는 도중 구글 블루프린트의 이슈 중에 나와 비슷한 고민을 가지고 있는 이슈를 보게 되었다.
https://github.com/android/architecture-samples/issues/201
아직 확연하게 와닿는 답변은 없었지만
해당 프로젝트에서
@Override public Observable<List<UserEntity>> userEntityList() {
//TODO: implement simple cache for storing/retrieving collections of users.
throw new UnsupportedOperationException("Operation is not available!!!");
}
사용되지 않는 기능을 UnsupportedOperationException으로 예외처리 하는 방법을 보게 되었다.
우선적으로 이 방법을 통해 구현할 예정이지만 다른 아이디어도 고민해 봐야겠다.
반응형
'개발 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 권한 요청 구현하고 예외 처리 하기 (0) | 2019.10.29 |
---|---|
SearchView and Databinding with high order function (0) | 2019.10.28 |
(Koin) BroadcastReceiver에서 inject()를 사용할 수 없는 문제 (0) | 2019.10.24 |
Duplicate files copied in APK 에러 해결 방법 (0) | 2019.10.24 |
Dependency 최신 버전 확인하기 (0) | 2019.10.16 |
Comments