[Book]Clean Architecture 5부(25~29장)

계층과 경계

  • 아키텍쳐의 경계가 어디에나 존재한다
  • 아키텍트로서 아키텍처의 경계가 언제 필요한지 신중하게 파악해야 하며, 이러한 경계를 제대로 구현하려면 비용이 많이 든다
  • 공시에 이러한 경계가 무시되었다면 나중에 다시 추가하는 비용이 크다는 사실도 알아야 한다

메인 컴포넌트

  • 모든 시스템에는 최소한 하나의 컴포넌트가 존재하고, 이 컴포넌트가 나머지 컴포넌트를 생성하고 조정하며 관리하는데 이를 메인 컴포넌트라고 한다.
  • 메인 컴포넌트는 궁극적인 세부사항으로 가장 낮은 수준의 정책이다.
  • 메인을 애플리케이션의 플러그인이라고 생각하자. 메인은 초기 조건과 설정을 구성하고 외부 자원을 모두 수집한 후, 제어권을 애플리케이션의 고수준 정채으로 넘기는 플러그인이다.

‘크고 작은 모든’ 서비스들

  • 서비스는 시스템의 확장성과 개발 가능성 측면에서 유용하지만, 아키텍처적으로는 중요한 요소는 아니다.
  • 서비스는 단 하나의 아키텍처 경계로 둘러싸인 단일 컴포넌트로 만들 수 있다.

테스트 경계

  • 테스트는 태생적으로 의존성 규칙을 따른다.
  • 테스트를 시스템의 일부로 설계하지 않으면 테스트는 깨지기 쉽고 유지보수하기 어려워지는 경향이 있다.

카테고리:

업데이트:

댓글남기기