만들면서 배우는 클린 아키텍처

송은우·2022년 10월 20일
0

TIL

목록 보기
33/61

웹 - 도메인 - 영속성(persistency 데이터베이스)
전통적인 3계층 아키텍처

계층형 아키텍처의 토대는 db
db 종석적인 문제가 있음
상태가 아니라 행동에 따른 아키텍처가 우선되어야 함
계층형의 의존성의 방향에 따르면 당연하지만, 비즈니스 관점에서는 좋지 않음
orm 사용하는 문제가 이렇게 됨
orm 사용시 엔티티가 영속성 계층에 있다. 아래로만 의존 가능하기에
서비스 =>(레포지토리)=>엔티티 로 가게 됨
강한 결합이 생김
계층형 아키텍처에서는 넓은 서비스, 넓은 영속성계층이 만들어질 수 있다.
그럼 귀찮아짐

계층형 아키텍처는 서로 다른 기능임에도 동시에 작업하기 어렵다
하나의 서비스가 다 차지하기에
유지보수 불가능
도메인 : 서비스=>(interface 리포지토리)=>엔티티
영속성 : 리포지토리 구현체, 엔티티

계층은 어떤 유스케이스가 어디에 구현되어있는지 알 수가 없다.
기능은 아키텍처가 명확하게 보이지 않는다
어댑터, in, output 포트 역시 보이지 않는다

어떤 부분을 기리켰을 때 코드의 어떤 부분이 해당 박스를 책임지는지를 바로 알 수 있으면 좋다.

account라고 하는 usecase를 다룬다는 account패키지가 있음
domain 패키지(도메인을 둘러싼 서비스 계층)
adaptor패키지, application 패키지

profile
학생의 마음가짐으로 최선을 다하자

0개의 댓글