DataSource / Repository / Implement 에 대한 차이점 정리
·
내일배움캠프 (Flutter 5기)/Flutter
클린아키텍처로 flutter 프로젝트를 진행하고 있는데 비슷한 용어가 여기저기서 다양하게 사용되다보니개념이 헷갈려서 아래 구성항목들에 대해서 오늘 다시한번 정리해보려고 한다. Data SourceData Source ImplementRepositoryRepository ImplementData Source역할 : 외부로부터 데이터를 가져오거나 저장하는 방법을 정의한다.→ 데이터의 출처(DB, API 등)에 접근하는 방법(상호작용)을 추상화 한다.여기서 추상화란 ?: 복잡한 시스템의 세부사항을 숨기고 핵심적인 부분만 드러내는 것비유 : 요리 레시피 + 주방→ 필요한 재료와 메서드 순서 등을 정의하지만 실제로 요리하지 않는다.→ 어떤 데이터를 어디서 가져올것인가(레스토랑 밖이 될 수도 있음)에 대한 메서드만..
클린 아키텍처 깊게 이해하기
·
내일배움캠프 (Flutter 5기)/Flutter
클린 아키텍처의 구조어제는 클린 아키텍처가 3가지 레이어로 나뉜다고 정리했다.(Presentation, Domain, Data Layer)여기에는 Entity, Use Case, Interface Adapters, Frameworks and Drivers와 같은 계층들이 아래와 같이 분류된다.Presentation LayerUI와 같은 화면표시 및 사용자 입력 처리 계층ViewModel, Widget - UI 계층컨트롤러 - UI, UseCase 간의 연결다리 역할. 사용자의 요청을 받아 UseCase를 실행하고 그 결과를 뷰모델에 전달. Domain Layer시스템의 비즈니스 로직을 담고 있는 핵심 계층Entity : 데이터 모델 클래스 (ex. User 등)UseCase : Entity로 해야할 일 ..