아키텍처 경계를 강제한다는 것은 의존성이 올바른 방향을 향하도록 강제하는 것을 의미한다.
위 그림에서 각 계층 사이에 경계가 존재한다. 의존성 규칙에 따르면 의존성은 항상 안쪽 방향(도메인 쪽으로) 향해야 한다.
이번 장에서는 의존성 규칙을 강제하는 방법을 알아본다. 그로인해 잘못된 방향을 가리키는 의존성을 제거할 것이다.
경계를 강제하기 위해 자바에서 제공하는 가장 기본적인 도구 → 접근제한자
package-private(default) → ****패키지를 통해 클래스들을 응집적인 **‘모듈’**로 만들어 준다.
+ → public / o → package-private
buckpal
|
|--- account
|--- adapter
| |--- in
| | |--- web
| | |--- o AccountController
| |--- out
| |--- persistence
| |--- o AcountPersistenceAdapter
| |--- o SpringDataAccountRepository
|
|--- domain
| |--- + Acount
| |--- + Activity
|
|--- application
|--- o SendMoneyService
|
|--- port
|--- in
| |--- + SendMoneyUseCase
|
|--- out
|--- + LoadAccountPort
|--- + UpdateAccountStatePort