Skip to main content Link Search Menu Expand Document (external link) Copy Copied

기능의 제공자는 책임을 가지게 된다. 책임은 잘 분리하면 전체 기능의 작동에 도움이 되며, 테스트도 쉬워진다.


기능을 누가 제공할 것인가?

기능의 제공자는 해당 기능에 대한 책임을 가진다. 분리된 하위 기능들을 잘 조합하면 전체 기능이 작동한다. 책임과 역할을 잘 분리하면 테스트하기도 쉬워진다.


책임을 분리하는 방법은 무엇인가?

책임을 분리하는 방법에는 다음과 같은 것들이 있다:

  1. 패턴 적용
    • 간단한 웹: 컨트롤러, 서비스, DAO
    • 복잡한 도메인: 엔티티, 벨류, 레포지토리, 도메인 서비스
    • AOP: Aspect(공통 기능)
    • GoF: 팩토리, 빌더, 전략, 템플릿 메서드, 프록시/데코레이터 등
  2. 계산 기능 분리
  3. 외부 연동 분리
    • 네트워크, 메시징, 파일 등
  4. 조건별 분기는 추상화로 처리