본문으로 건너뛰기

패키지

계층 기반 패키지​

전통적인 수평 계층형 아키텍처
기술적인 관점에서 해당 코드가 하는 일에 기반해 코드를 분할

기능 기반 패키지​

서로 연관된 기능, 도메인 개념, 또는 Aggregate Root에 기반하여 수직의 얇은 조각으로 코드를 나누는 방식

포트와 어댑터​

업무/도메인에 초점을 둔 코드가 프레임워크 데이터베이스 같은 기술적인 세부 구현과 독립적이며 분리된 아키텍처를 만들기 위해 사용

컴포넌트 기반 패키지​

큰 단위의 단일 컴포넌트와 관련된 모든 책임을 하나의 자바 패키지로 묶는 데 주안점을 둠
모노리틱 애플리케이션에서 컴포넌트를 잘 정의하면 MSA로 가기 위한 발판으로 삼을 수 있음

참고 자료​

클린 아키텍처, 로버트 C. 마틴 p.316