Clean Architecture

Donghee Choi·2021년 6월 17일
0

클린 아키텍처의 특징

  • 3가지의 레이어를 가진다.

Presentation Layer

view - Activity, Fragment
Presenter - Controller, Presenter, ViewModel

Domain Layer

UseCase
Translater(Entity -> Model) : Entity를 Data Layer에서 받으면 모델로 가공함

Data Layer

Repository : Domain과 Data Store, Remote Layer를 연결하기 위함
Entity : 최소 단위의 비즈니스 개체

  • 경계선 : 계층 구조의 개념을 적용
  • UseCase : Domain Layer를 분리해서 Usecase를 사용함으로써
    소스코드가 변경이 되어도 Use case만 교체를 하면 되기때문에 쉽게 로직 변경이 가능하다.
  • 테스트 코드를 쉽게 구현할 수 있고, 가독성, 유지보수성을 향상시킨다.

View : Activity, Fragement 같은 요소
Presenter : 비즈니스 로직을 갖고 있거나 데이터를 홀딩하고 있는 요소
비즈니스 로직을 통해서 UseCase를 호출함
받은 모델을 View에 보여주도록 함
(MVP에서는 Presenter, MVVM에서는 ViewModel)
UseCase : repository에 대한 의존성을 주입받아 사용
가져온 데이터를 Presentation layer에 모델로 넘겨줌

  • feature별로 나눈다.
  • feature별로 나누어져 있기때문에 비즈니스 로직에 집중해서 테스트를 할 수 있다.

Repository : DataStore에서 데이터 가져옴
DataStore : Remote API, Room, Retrofit 등을 통해서 Entity객체를 가져옴

profile
frontend, vuejs, react, docker, kubernetes

0개의 댓글

관련 채용 정보