Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
domain-driven_design:part_4_strategic_design:14_maintaining_model_integrity [2024/11/07 07:35] – [CUSTOMER/SUPPLIER DEVELOPMENT TEAM] 오타 수정 ledyxdomain-driven_design:part_4_strategic_design:14_maintaining_model_integrity [2024/11/07 08:00] (current) – [OPEN HOST SERVICE] 설명 보충 ledyx
Line 46: Line 46:
     sharedKernel["SHARED KERNEL"]     sharedKernel["SHARED KERNEL"]
     customerSupplierDevelopmentTeam["CUSTOMER/SUPPLIER DEVELOPMENT TEAM"]     customerSupplierDevelopmentTeam["CUSTOMER/SUPPLIER DEVELOPMENT TEAM"]
 +    
 +    openHostService["OPEN HOST SERVICE"]
 +    publishedLanguage["PUBLISHED LANGUAGE"]
   end   end
      
Line 60: Line 63:
  
   end   end
-   +
-  openHostService["OPEN HOST SERVICE"+
-  publishedLanguage["PUBLISHED LANGUAGE"]+
 end end
  
Line 73: Line 74:
 contextMap --"일방적으로 겹치는 방식으로 활용"--> conformist contextMap --"일방적으로 겹치는 방식으로 활용"--> conformist
  
-contextMap --"다수의 클라이언트를 지원하는 데 활용"--> openHostService+contextMap --"다수의 클라이언트를 지원하는 데 활용.<br>하류 컨텍스트의 기능을 외부에 Service로 공개하여 상류 컨텍스트가 접근"--> openHostService
 openHostService --"공식화 수단으로 사용"--> publishedLanguage openHostService --"공식화 수단으로 사용"--> publishedLanguage
  
Line 348: Line 349:
   * 상류 팀에서 제공하는 기능의 사용을 전적으로 포기 → **SEPARATE WAYS**   * 상류 팀에서 제공하는 기능의 사용을 전적으로 포기 → **SEPARATE WAYS**
   * 상류 소프트웨어를 사용하는 데서 얻는 가치가 너무 커서(또는 팀에 변경할 권한이 없는 정치적인 결정으로) 의존관계를 유지해야 할 때가 있다. \\ 이 경우 두 가지 길이 있다. \\ __선택은 상류팀이 제작한 소프트웨어 소프트웨어 설계의 품질과 스타일에 달려 있다.__ (캡슐화, 추상화, 패러다임등)   * 상류 소프트웨어를 사용하는 데서 얻는 가치가 너무 커서(또는 팀에 변경할 권한이 없는 정치적인 결정으로) 의존관계를 유지해야 할 때가 있다. \\ 이 경우 두 가지 길이 있다. \\ __선택은 상류팀이 제작한 소프트웨어 소프트웨어 설계의 품질과 스타일에 달려 있다.__ (캡슐화, 추상화, 패러다임등)
-    * (수용이 어려운 경우) 자체적인 모델을 만들고 복잡해질 가능성이 있는 번역 계층을 개발하고 유지보수할 책임을 전부 맡아야 한다. → **ANTICORRUPTION  LAYER** +    * (수용이 어려운 경우) 자체적인 모델을 만들고 복잡해질 가능성이 있는 **번역 계층**을 개발하고 유지보수할 책임을 전부 맡아야 한다. → **ANTICORRUPTION  LAYER** 
-    * (수용이 가능한 경우) 독립적인 모델을 포기하는 것이 최선. → **CONFORMIST**+    * (수용이 가능한 경우) 독립적인 모델을 포기하는 것이 최선. 상위 팀 모델을 따른다. → **CONFORMIST**
  
 <flow> <flow>
Line 459: Line 460:
 == OPEN HOST SERVICE == == OPEN HOST SERVICE ==
  
-각 하위 시스템에 대한 번역기가 많은 경우 사용하는 패턴+각 하위 시스템에 대한 번역기가 많은 경우 사용하는 패턴
 + 
 +여러 종류의 Downstream Bounded Context를 고려하여 설계되는 Upstream Bounded Context. 
 + 
 +하류 컨텍스트의 기능을 외부에 Service로 공개하여 상류 컨텍스트가 접근. 
 + 
 +예를 들어, 상류 Context "네이버 검색"에서 하류 Context인 블로그, 카페, 웹페이지 컨텍스트의 기능을 이용할 것이다. 이 때, 하류 Context N개 만큼 상류 Context에 맞춰 번역 레이어가 필요할 것이고, 유사한 코드가 반복될 것이다. 이를 외부 서브시스템을 서비스의 제공자로 바라보는 관점으로, 외부 서브시스템을 서비스로 감싼다.
  
 <note important> <note important>
domain-driven_design/part_4_strategic_design/14_maintaining_model_integrity.1730964905.txt.gz · Last modified: 2024/11/07 07:35 by ledyx