핵심 요소

육각형 아키텍처에서 구조적으로 핵심이 되는 요소는 엔티티, 유스케이스, incoming, outcoming Adapter


아키텍처적으로 표현력이 있는 패키지 구조

📦 buckpal
└─ account
   ├─ adapter
   │  ├─ in
   │  │  └─ AccountController
   │  └─ out
   │     └─ persistence
   │        ├─ AccountPersistenveAdapter
   │        └─ SpringDataAccountRepository
   ├─ domain
   │  └─ Acoount
   │     └─ Activity
   └─ application
      ├─ SendMoneyService
      └─ port
         ├─ in
         │  └─ SendMoneyUseCase
         └─ out
            └─ LoadAccountPort
               └─ UpdateAccountStatePort

해당 패키지 구조를 사용 하면 어떤 작업을 할 때 패키지 구조만 보고 바로 파악 할수 있도록 도와준다.

<aside> 🔥 이 패키지 구조는 architecture-code gap (아키텍처-코드 갭) 혹은 model-code gap (모델 코드 갭)울 효과적으로 다룰 수 있는 강력한 요소.

</aside>

기능으로 구성한 패키지 구조의 단점

<aside> 🔥 단점