/////
Search
Duplicate
2️⃣

계층 구조 아키텍처

: 네 영역을 구성할 때 많이 사용하는 아키텍처가 계층 구조, 표현 영역과 응용 영역은 도메인 영역을 사용하고, 도메인 영역은 인프라스터럭처 영역을 사용하므로 계층 구조가 적합해보인다.
: 도메인의 복잡도에 따라 응용과 도메인을 분리하기도 하고 한 계층으로 합치기도 함
: 계층 구조는 그 특성상 상위 계층에서 하위 계층으로의 의존만 존재하고 하위 계층은 상위 계층에 의존하지 않는다. 예를 들어 표현 계층은 응용 계층에 의존하고 응용 계층이 도메인 계층에 의존하지만 반대로 인프라스트럭처 계층이 도메인에 의존하거나 응용 계층에 의존하지는 않는다.
: 계층 구조를 엄격하게 적용한다면 상위 계층은 바로 아래의 계층에만 의존을 가져야 하지만 구현의 편리함을 위해 계층 구조를 유연하게 적용하기도 함, 응용 계층은 바로 아래의 도메인 계층에 의존하지만 외부 시스템과의 연동을 위해 더 아래 계층인 인프라스트럭처 계층에 의존하기도 한다.
: 계층 구조에 따르면 도메인과 응용 계층은 룰 엔진과 DB 연동을 위해 인프라스트럭처에 의존하게 됨
: 응용 영역과 도메인 영역은 DB나 외부 시스템 연동을 위해 인프라스트럭처의 기능을 사용하므로 이런 계층 구조를 사용하는 것은 직관적으로 이해하기 쉬움, 하지만 짚고 넘어가야할 것이 표현, 응용, 도메인 계층이 상세한 구현 기술을 다루는 인프라스트럭처 계층에 종속된다는 점이다. 이렇게 인프라스트럭처에 의존하게 되면 '테스트 어려움'과 '기능 확장의 어려움'이라는 두 가지 문제가 발생한다.