본문 바로가기

클린아키텍쳐

(3)
[클린아키텍쳐] BestPractice로 공부하는 클린아키텍쳐 2편: Data 안녕하세요 주니오스입니다~! ✋ Domain편에 이어서 이번에는 Data영역을 분석해 보겠습니다. 지난 포스팅을 못보신 분들은 1편 Domain을 먼저 보시는 것을 추천합니다~! 우선 데이터 영은 다음과 같이 구성되어 있습니다. Repositories 아래코드를 보시면, 지난번에 Domain레이어에서 확인할 수 있었던 레포지토리 인터페이스가 사용되는 것을 확인할 수 있습니다. 레포지토리 인터페이스에 따라 구현된 매서드가 어떻게 정의되어 있는지 확인해 봅시다. 구분을 쉽게하기위해 주석으로 번호를 마킹하였습니다. 1번을 보시면 Domain레이어로부터 전달받은 엔티티를 DTO로 변환하는 것을 확인할 수 있습니다. 2번의 Task는 레포지토리에서 진행중인 작업의 상태를 표시하기위한 객체로 보입니다. 이런 식으..
[클린아티텍쳐] BestPractice로 공부하는 클린아키텍쳐 1편: Domain 안녕하세요 주니오스입니다~! ✋ 이번글 은 클린아키텍쳐와 관련된 포스팅입니다. 클린아키텍쳐는 아래 보이는 그림처럼 원형으로 이루어집니다. 클린아키텍의 핵심은 아래그림에서 볼 수 있듯이 경계의 분할(동심원)과  의존성의 방향(화살표방향)이 항상 안쪽으로 향하는 단방향 의존성입니다.  위 두 제약은 SOLID개발 원칙이 기저에 깔려있으며 소프트웨어를 안정적으로 개발할 수 있게합니다. 동심원은 크게 3가지로 구성됩니다. Domain, Presentation 그리고 Data 입니다. 해당 레이어가 하나의 모듈을 의미하는 것이아닌 논리적인 개념으로 생각하시면됩니다. 예를들어 Presentation영역은 화면에 컨텐츠를 표시하는 요소들이 속하게 됩니다. 이번 글은 3가지 레이어중 Best Practice의 Dom..
[클린아키텍쳐] 주요 원칙 정리 안녕하세요 주니오스입니다! ✋ 최근 읽고있는 책인 '클린아키텍쳐(로버트 C. 마틴)'의 중간 점검으로 주요 개념들을 정리해 보려고 합니다. 단일 책임원칙 공통 패쇄원칙 의존성 역전 원칙 안정된 의존성 원칙 안정된 추상화 원칙 SRP: 단일 책임원칙 단일책인 원칙은 클래스와 함수 레벨에서 사용되는 개념입니다. 함수의 경우 하나의 작업만을 수행해야 합니다. 그리고 클래스의 경우 하나의 엑터에 대한 동작만을 수행해야 합니다. 예르들어 다수의 엑터가 하나의 클래스를 사용하는 경우를 가정하겠습니다. 상점이라는 클래스가 있습니다. 해당 클래스는 '상품 적재' 엑터, '상품 판매' 엑터가 모두 해당 클래스를 사용합니다. 이 경우 적재 정책(비즈니스 로직)이 변경되어 상점 클래스를 수정해야하는 일이 발생할 수 있습니다..