12장 : 아키텍처 스타일 결정하기

언제 실제로 육형 아키텍처 스타일을 사용해야 할까 ? 그리고 언제 육각형 아키텍처 스타일 대신 전통적인 계층형 아키텍처 스타일(혹은 그 외의 어떤 스타일이든)을 고수해야 할까 ?

도메인이 왕이다

지금까지 살펴본 내용을 통해 영속성 관심사나 외부 시스템에 대한 의존성 등의 변화로부터 자유롭게 도메인 코드를 개발할 수 있는 것이 육각형 아키텍처 스타일의 주요 특징이라는 점이 명확해졌을 것이다.

💡 외부의 영향을 받지 않고 도메인 코드를 자유롭게 발전시킬 수 있다는 것은 육각형 아키텍처 스타일 내세우는 가장 중요한 기치다.

  • 이것이 육각형 아키텍처 스타일이 도메인 주도 설계 방식과 정말 잘 어울리는 이유다. 당연한 말이지만 DDD에서는 도메인이 개발을 주도한다. 그리고 영속성 문제나 다른 기술적인 측면에 대해서 함께 생각할 필요가 없게 되면 도메인에 대해 가장 잘 고려할 수 있게 된다.

  • 육각형 스타일과 같은 도메인 중심의 아키텍처 스타일은 DDD의 조력자라고까지 말할 수 있다. 도메인을 중심에 두는 아키텍처 없이는, 또 도메인 코드를 향한 의존성을 역전시키지 않고서는, DDD를 제대로 할 가능성이 없다. 즉, 설계가 항상 다른 요소들에 의해 주도되고 말 것이다.

  • 그래서 이 책에서 설명한 아키텍처 스타일을 사용할지 말지를 결정할 첫 번쨰 지표로서, 만약 도메인 코드가 애플리케이션에서 가장 중요한 것이 아니라면 이 아키텍처 스타일은 필요하지 않을 것이다.

경험이 여왕이다

습관이 나쁜 결정을 내릴 떄만큼, 좋은 결정을 내릴 떄도 도움이 된다. 우리가 과거에 했던 일어 편안함을 느끼는데 무언가를 바꿔야 할 이유가 있을까 ?

그때그때 다르다

어떤 아키텍처 스타일을 골라야 하는가에 대한 내 대답은 전문 컨설턴트의 “그때그떄 달라요 ...”와 같다. 어떤 소프트웨어를 만드느냐에 따라서도 다르고, 도메인 코드의 역할에 따라서도 다르다.

하지만 이 책이 아키텍처 문제에 도움이 될 만한 약간의 영감을 줬기를 바란다.

DISCUSSION

Last updated