This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doamin-driven_design:04_isolating_the_domain [2023/08/09 23:31] – [계층화의 가치] ledyx | doamin-driven_design:04_isolating_the_domain [2024/02/17 15:21] (current) – removed ledyx | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | = 04 도메인의 격리 = | ||
| - | |||
| - | 모델의 각 요소(객체)를 하나하나 구분하지 않고 **하나의 시스템**으로 바라 볼 수 있도록 | ||
| - | __시스템에서 도메인과 **관련이 적은 기능**으로부터 도메인 객체를 분리__ | ||
| - | |||
| - | {{tag> | ||
| - | |||
| - | |||
| - | == Layered Architecture == | ||
| - | |||
| - | // | ||
| - | |||
| - | <note important> | ||
| - | 복잡한 프로그램을 여러 개의 계층으로 나눠라 | ||
| - | (같은 계층에서는) 응집력 있고 __오직 " | ||
| - | 표준 아키텍처 패턴에 따라 __상위 계층과의 결합을 느슨하게 유지하라__ | ||
| - | **도메인 모델과 관련된 코드는 모두 한 계층에 모으고** | ||
| - | 사용자 인터페이스 코드나 애플리케이션 코드, 인프라스트럭처 코드와 **격리**하라 | ||
| - | </ | ||
| - | |||
| - | |||
| - | === 계층화의 핵심 원칙 === | ||
| - | |||
| - | 계층화의 핵심 원칙은 | ||
| - | |||
| - | 한 계층의 모든 요소는 | ||
| - | **오직 같은 계층에 존재하는 다른 요소** 혹은 **계층상 "< | ||
| - | 에만 의존한다는 것이다. | ||
| - | |||
| - | 위로 거슬러 올라가는 의사소통은 반드시 간접적인 메커니즘을 거쳐야 한다. | ||
| - | |||
| - | === 계층화의 가치 === | ||
| - | |||
| - | 계층화의 가치는 | ||
| - | 각 계층에서 컴퓨터 프로그램의 **특정 측면만을 전문적을 다룬다**는 데 있다. | ||
| - | ... | ||
| - | |||
| - | 거듭 말하지만 경험과 관례를 바탕으로 널리 받아들여지는 계층화가 어느 정도 정해졌다. | ||
| - | ... 대다수의 성공적인 아키텍처에서는 아래의 네 가지 개념적 계층으로 나뉜다. | ||
| - | |||
| - | |||
| - | ^ 계층 | ||
| - | | User Interface (or Presentation Layer) | ||
| - | | Application Layer | 소프트웨어가 **수행할 작업을 정의**하고 표현력 있는 도메인 객체가 **문제를 해결하게 한다.** 이 계층에서 책임지는 작업은 **업무상 중요**하거나 다른 시스템의 **응용 계층과 상호작용**하는 데 필요한 것이다. \\ 이 계층은 얇게 유지된다. 여기에는 **<fc red> | ||
| - | | Domain Layer (or Model Layer) | ||
| - | | Infrastructure Layer | | ||
| - | |||
| - | |||
| - | |||
| - | === 계층 간 관계 설정 === | ||
| - | |||
| - | |||
| - | === 아키텍처 프레임워크 === | ||
| - | |||
| - | |||
| - | |||
| - | == 도메인 계층은 모델이 살아가는 곳 == | ||
| - | |||
| - | |||
| - | == The Smart UI " | ||
| - | |||
| - | 지능형 UI " | ||
| - | |||
| - | |||
| - | == 다른 종류의 격리 == | ||
| - | |||
| - | |||