아키텍처: 코드를 어떻게 작성하고 어디에 위치시켜야 하는가

일정 규모 이상이 되면 아키텍처는 서서히 무너지고, 계층 간 경계가 약화되고, 테스트하기 어려워지고, 새로운 기능을 구현하는 데 더 많은 시간이 든다.

아키텍처 내의 경계를 강제하는 방법

  1. 접근 제한자
  2. 컴파일 후 체크
  3. 빌드 아티팩트

10-1. 경계와 의존성

Untitled

아키텍처 경계를 강제한다

= 의존성이 올바른(안쪽) 방향을 향하도록 강제한다.

= 점선(허용되지 않은 의존성)을 없앤다.

10-2. 접근 제한자(Visibility Modifier)

자바에서 제공하는 가장 기보적인 도구

  1. public
  2. protected
  3. private
  4. package-private (default)