Android Architecture Blueprints의 Clean Architecture 구현 예제 읽기

Android Architecture Blueprints에서 구글은 MVVM과 MVP 등 각종 구조 실현과 라이브러리 이용 샘플을 공개했다.
본고는 그 중에서 Clean Architecture의 설치 견본todo-mvp-clean을 읽고 책 Clean Architecture가 사람들에게 배우는 소프트웨어 구조와 디자인의 내용을 더욱 실제적으로 이해하고자 한다.

포지셔닝 todo-mvp-clean


VP 구현 예시todo-mvp의 변경 사항으로 사전 설정 레이어와 데이터 레이어 사이에 도메인 레이어를 추가합니다.Clean Architecture의 알기 쉬운 특징은 Use case를 클래스로 자르는 것이다.

SOLID 원칙의 목적 중 하나는 "변경 강화" 입니다.


Clean Architecture의 관점에서 볼 때 데이터베이스는 상세한 정보로 업무 규칙에 영향을 주지 않는다.
이 TODO 애플리케이션은 @969581f 에서 DB 라이브러리를 SQLiteOpenHelper에서 Room으로 변경합니다.
TasksDataSource 인터페이스에서 지속적인 TODO 정보에 액세스하는 방법을 정의합니다.그리고 DB의 구체적인 실현은 TasksLocalDataSource 이다.
SOLID 원칙에 따라 모듈이 분리되므로 DB가 변경되더라도 인터페이스 변경 없이 변경이 구체적으로 이루어진 것을 확인할 수 있습니다.

SOLID 원칙이란 무엇입니까?


《제3부분 설계원칙》에서 모두 5장을 해설하였다.
SOLID 원칙의 목적은 다음과 같습니다.
  • 변경 잘함
  • 이해하기 쉽다
  • 구성 요소의 기초로 많은 소프트웨어 시스템에서 사용할 수 있음
  • 다음 5가지 원칙의 머리글자를 따서 SOLID 원칙이라고 합니다.
  • 반은 유일한 사용자에게 책임을 져야 한다(Simple Responsibility Principle)
  • 코드 수정을 통해 행위 변경
  • 단일 부품 교체 허용 계약 준수
  • 인터페이스 분리를 통해 사용되지 않는 의존을 피해야 한다
  • 고급 정책 구현 코드는 하위 디테일에 의존하지 않고 역방향(Dependency Inversation Principle)
  • Clean Architecture에서 구현하는 방법


    SOLID 원칙은 Clean Architecture의 고유한 개념이 아니며 Tasks DataSource는 자료 파일 라이브러리 모델로 이루어졌다고 할 수 있다.다음 글은 Usecase의 주변을 해석하고 Clean Architecture에 대한 이해를 더욱 깊이 있게 할 것입니다.

    참고: 비공식 Clean Architecture 설치 예제


  • android10/Android-CleanArchitecture★ 1만 개가 넘는 유명 자료고.

  • android10/Android-CleanArchitecture-Kotlin1의 Kotlin 업데이트 버전입니다.

  • bufferapp/clean-architecture-components-boilerplate AAC를 도입한 Clean Architecture 샘플.
  • 《Clean Architecture가 달인에게 배우는 소프트웨어 구조와 디자인》 제30장
    Android가 개발한'module'이 아니라 Clean Architecture의'모듈'입니다. 

    좋은 웹페이지 즐겨찾기