09 애플리케이션 조립하기

왜 조립까지 신경 써야 할까?

  • 모든 의손성은 안쪽, 애플리케이션의 도메인 방향으로 향해야
  • 도메인 코드가 바깥 계층으로 안전

설정 컴포넌트

  • 우리가 제공한 조각들로 애플리케이션을 조립하는 책임

평범한 코드로 조립하기

  • 코드가 많은면 불편
  • 각 클래스가 속한 패키지 외부에서 인스턴스를 생성 -> 전부 public

스프링을 사용하자

스프링의 클래스패스 스캐닝으로 조립하기

  • @Component

스프링의 자바 컨피그로 조립하기

  • @Configuration

유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?

  • 코드의 규모가 커지면 금방 투명성이 낮아진다

  • 책임으로 자유로워진다

  • 서로 다른 모듈로부터 독립된다

10 아키텍처 경계 강제하기

경계와 의존성

접근 제한자

  • package-private('default') 제한자

컴파일 후 체크

  • ArchUnit

빌드 아티팩트

  • 빌드 도구는 순환 의존성을 극도로 싫어함

유지보수 가능한 소프트웨어를 만드는 데 어떻게 도움이 될까?

  • 하나의 빌드 모듈 안에서 아키텍처 경계를 강제화
  • 아키텍처 요소를 독립적인 빌드 모듈로 추출
  • 유지보수하기 좋은 고드를 위해
profile
항상 노력하는 백엔드 개발자

0개의 댓글