조금씩 읽기 도메인 구동 설계 제니부 모델 구동 설계의 구성 요소 제4장 도메인을 격리한다 6

전회지난번에서 레이어 아키텍처, DI 사용, 헥사 고날 아키텍처에 대해 읽었습니다.
다른 옵션에 대해

기타 옵션 玉ねぎアーキテクチャ



Jeffrey Palermo가 2008년에 제창한 아키텍처입니다.



헥소고날 아키텍처와 비슷하네요.
특징은
  • 종속성은 외부가 내부에 종속됩니다. (물론 그렇게하려면 DI가 필요합니다)
  • 외부는 내부이면 어떤 레이어에 따라 달라질 수 있습니다. 바로 안쪽만이라는 것은 아닙니다.
  • 도메인 서비스라는 계층은 Jeffery의 블로그에 따르면 DDD에서 말하는 Repository(인터페이스)를 모은 계층인 것 같습니다.
  • 구현 방법은 내부에 인터페이스를, 외부에 인터페이스를 구현합니다.
  • 어플리케이션 Core는 여러가지라고 하고 있으므로, 반드시 이대로 해야 하는 것은 아닌 것 같습니다만, 반드시 도메인과 그 외(UI/인프라스트럭쳐/테스트)를 분리시킵니다.
  • 응용 프로그램 Core 및 기타는 별도로 컴파일하고 실행할 수 있습니다.

  • Repositry를 도메인에서 분리하는 것은 어떨까요? 모델의 라이프 사이클도 중요한 도메인의 지식과 같은 생각이 듭니다만・・・라고는 말해, 어플리케이션 Core 안에 있고, 어플리케이션 Core도 이대로가 아니면 안된다고 하는 것도 아닌 것 같기 때문에 생각의 하나로서는 좋을까라는 감상입니다.

    어니언 아키텍처도 헥소고날 아키텍처도 그 의도는 여러 번 쓰고 있는 것 같지만 도메인을 격리하는 것에 있습니다.
    자신적으로는 그것만 실현하면 어떤 아키텍처로 잘 가는 것 같은 생각이 듭니다만, 다른 아키텍쳐의 선택지로서 Clean Architecture라고 하는 것이 남아 있으므로 내일 또 읽어 봅니다.

    좋은 웹페이지 즐겨찾기