SlideShare une entreprise Scribd logo
1  sur  18
IV STRATEGIC DESIGN
     14. 모델의 무결성 유지
모델 무결성 사례


하나의 모듈(모델)을 두 팀에서 다르게 적용.

각각의 모듈로 나눈다
(Customer Charge, Supplier Charge)
자동화 테스트 수행.

모델의 단일화(unification)
모델 단일화

대규모 시스템의 모델 단일화는 효과적이지 않다.

여러 모델간의 경계와 관계를 표시해줄 수단.
모델간 관계 인식, 선택.

‣ Context Map
‣ Bounded Context
모델 무결성




모델 무결성 패턴에 대한 내비게이션 맵
BOUNDED CONTEXT
모델에 적용되는 컨텍스트를 명시적으로 정의.

컨텍스트 경계를 명시적으로 설정, 유지.
CONTINUOUS INTEGRATION



모델의 설계를 유지.

자동화 테스트 수행.
자주 통합.

UBIQUITOUS LANGUAGE를 보완/유지.
CONTEXT MAP

     특정한 형식보단,

     의사 소통이 유용하게,
     이해하고 공유.

     Bounded Context의 명확한
     이름 제공,
     경계지점과 특성을 표현.
SHARED KERNEL


      팀간 공통 모델.

      수정이 자유롭지 않다.
      수정시 팀의 모든 테스트
      를 통과.
CUSTOMER/SUPPLIER
DEVELOPMENT TEAM

       하류 팀 권한으로
       상류 팀 개발을 속박.

       ‣ 복잡한 요구 사항.
       ‣ 하류 시스템 오류 야기.
       상류 팀 권한은
       하류 팀의 개발을 무력화.

       ‣ 상류 팀의 개발 우선 순위.
CONFORMIST
상류 팀에서 일방적인 개발을 진행할 경우,
상류 팀에 맹목적으로 따르라.
상류 팀에 종속되고,
이상적인 모델을 만들지 못한다.
통합이 단순해진다.

상류 팀의 UBIQUITOUS LANGUAGE를 공유.

의사 소통이 용이.
ANTICORRUPTION LAYER
외부 모델의 기능을 이용할 수 있는
격리 계층을 만들어라.
FACADE:하위 시스템에 대한 인터페이스 제공.
ADAPTER:외부 인터페이스를 래핑.
SK, CSDT 는 협력적.

CONFORMIST는
편향적.

AL 은 유용한 설계가 없
다는 비관적.
SEPARATE WAYS

통합의 비용이 큰 경우
Bounded Context 간에 관계를 가지지 않도록 선언.

‣ 작은 범위내에서
 단순하고 특화된 해결책을 만들도록 해라.

‣ 작은 범위내 작업은 결국 통합해야 하며,
 그 중 비교적 비용이 큰 경우도 발생한다.

‣ 번역 계층을 만들어 해결해야 한다.
OPEN HOST SERVICE

      하위 시스템 번역기를
      조정하기 힘듦.
      하위 시스템 접근과
      관련된 프로토콜을
      서비스로 정의.

      프로토콜을 공개, 사용하도록.
PUBLISHED LANGUAGE


OPEN HOST SERVICE 에 프로토콜을
언어로 공표.
사람들이 손쉽게 언어를 사용.

언어의 문서화로 인해 해석의 일관성(호환성).
코끼리 통일하기
   개별적 Bounded Context를
   통합하는 것은 어렵다.
   단순한 통합 모델은
   원시적이다.
   새로운 요구 사항과
   의사 소통으로 모델을
   심화하고 정제할 수 있다.
   자신의 인식이
   불완전하다고 가정.
모델의 컨텍스트 전략 선택


팀 의사결정 또는 그 이상
- 통합시 발생하는 비용을 평가하고, 완화 조치
자신을 컨텍스트에 배치
- 작업중인 컨텍스트뿐만 아니라,
시스템 전체에 집중(???)

..... (생략)
변형


Bounded Context 에 대한 결정을 변경할 수 있다.

여러번의 반복주기로 달성.

Contenu connexe

Similaire à 14 strategy design

C Language II
C Language IIC Language II
C Language II
Suho Kwon
 
도메인 주도 설계 ch17
도메인 주도 설계 ch17도메인 주도 설계 ch17
도메인 주도 설계 ch17
HyeonSeok Choi
 
Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기
jbugkorea
 
Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료
jbugkorea
 

Similaire à 14 strategy design (13)

Bounded Context
Bounded ContextBounded Context
Bounded Context
 
Domain-Driven-Design 정복기 2탄
Domain-Driven-Design 정복기 2탄Domain-Driven-Design 정복기 2탄
Domain-Driven-Design 정복기 2탄
 
C Language II
C Language IIC Language II
C Language II
 
도메인 주도 설계 ch17
도메인 주도 설계 ch17도메인 주도 설계 ch17
도메인 주도 설계 ch17
 
Dev rookie codecomplete-1
Dev rookie codecomplete-1Dev rookie codecomplete-1
Dev rookie codecomplete-1
 
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
 
DDD 산책
DDD 산책DDD 산책
DDD 산책
 
[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기Micro Service Architecture(MSA) 탐방기
Micro Service Architecture(MSA) 탐방기
 
헤드퍼스트 디자인패턴 - 어댑터, 퍼사드
헤드퍼스트 디자인패턴 - 어댑터, 퍼사드헤드퍼스트 디자인패턴 - 어댑터, 퍼사드
헤드퍼스트 디자인패턴 - 어댑터, 퍼사드
 
01.표준프레임워크개요
01.표준프레임워크개요01.표준프레임워크개요
01.표준프레임워크개요
 
Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료Jbug 발표 msa탐방기_공유자료
Jbug 발표 msa탐방기_공유자료
 

Plus de Kyungryul KIM

전문검색기술도전
전문검색기술도전전문검색기술도전
전문검색기술도전
Kyungryul KIM
 
Nib_NSWindowController
Nib_NSWindowControllerNib_NSWindowController
Nib_NSWindowController
Kyungryul KIM
 
서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2
Kyungryul KIM
 
Chaper24 languages high_and_low
Chaper24 languages high_and_lowChaper24 languages high_and_low
Chaper24 languages high_and_low
Kyungryul KIM
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제
Kyungryul KIM
 

Plus de Kyungryul KIM (20)

Ch4 pugixml
Ch4 pugixmlCh4 pugixml
Ch4 pugixml
 
Node ch12
Node ch12Node ch12
Node ch12
 
11.scripting
11.scripting11.scripting
11.scripting
 
32 osx app_release
32 osx app_release32 osx app_release
32 osx app_release
 
Meteor ddp
Meteor ddpMeteor ddp
Meteor ddp
 
Cocos2dx 7.1-7.2
Cocos2dx 7.1-7.2Cocos2dx 7.1-7.2
Cocos2dx 7.1-7.2
 
Cocos2 d x-7.3_4
Cocos2 d x-7.3_4Cocos2 d x-7.3_4
Cocos2 d x-7.3_4
 
Cocos2d x-ch5-1
Cocos2d x-ch5-1Cocos2d x-ch5-1
Cocos2d x-ch5-1
 
Coco2d x
Coco2d xCoco2d x
Coco2d x
 
23 drag drop
23 drag drop23 drag drop
23 drag drop
 
Hadoop ch5
Hadoop ch5Hadoop ch5
Hadoop ch5
 
전문검색기술도전
전문검색기술도전전문검색기술도전
전문검색기술도전
 
Nib_NSWindowController
Nib_NSWindowControllerNib_NSWindowController
Nib_NSWindowController
 
Dsas
DsasDsas
Dsas
 
서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2서버인프라를지탱하는기술5 1 2
서버인프라를지탱하는기술5 1 2
 
Chaper24 languages high_and_low
Chaper24 languages high_and_lowChaper24 languages high_and_low
Chaper24 languages high_and_low
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제
 
Mibis ch20
Mibis ch20Mibis ch20
Mibis ch20
 
Mibis ch15
Mibis ch15Mibis ch15
Mibis ch15
 
Mibis ch8
Mibis ch8Mibis ch8
Mibis ch8
 

Dernier

Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
Wonjun Hwang
 

Dernier (7)

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 

14 strategy design

  • 1. IV STRATEGIC DESIGN 14. 모델의 무결성 유지
  • 2. 모델 무결성 사례 하나의 모듈(모델)을 두 팀에서 다르게 적용. 각각의 모듈로 나눈다 (Customer Charge, Supplier Charge) 자동화 테스트 수행. 모델의 단일화(unification)
  • 3. 모델 단일화 대규모 시스템의 모델 단일화는 효과적이지 않다. 여러 모델간의 경계와 관계를 표시해줄 수단. 모델간 관계 인식, 선택. ‣ Context Map ‣ Bounded Context
  • 4. 모델 무결성 모델 무결성 패턴에 대한 내비게이션 맵
  • 5. BOUNDED CONTEXT 모델에 적용되는 컨텍스트를 명시적으로 정의. 컨텍스트 경계를 명시적으로 설정, 유지.
  • 6. CONTINUOUS INTEGRATION 모델의 설계를 유지. 자동화 테스트 수행. 자주 통합. UBIQUITOUS LANGUAGE를 보완/유지.
  • 7. CONTEXT MAP 특정한 형식보단, 의사 소통이 유용하게, 이해하고 공유. Bounded Context의 명확한 이름 제공, 경계지점과 특성을 표현.
  • 8. SHARED KERNEL 팀간 공통 모델. 수정이 자유롭지 않다. 수정시 팀의 모든 테스트 를 통과.
  • 9. CUSTOMER/SUPPLIER DEVELOPMENT TEAM 하류 팀 권한으로 상류 팀 개발을 속박. ‣ 복잡한 요구 사항. ‣ 하류 시스템 오류 야기. 상류 팀 권한은 하류 팀의 개발을 무력화. ‣ 상류 팀의 개발 우선 순위.
  • 10. CONFORMIST 상류 팀에서 일방적인 개발을 진행할 경우, 상류 팀에 맹목적으로 따르라. 상류 팀에 종속되고, 이상적인 모델을 만들지 못한다. 통합이 단순해진다. 상류 팀의 UBIQUITOUS LANGUAGE를 공유. 의사 소통이 용이.
  • 11. ANTICORRUPTION LAYER 외부 모델의 기능을 이용할 수 있는 격리 계층을 만들어라. FACADE:하위 시스템에 대한 인터페이스 제공. ADAPTER:외부 인터페이스를 래핑.
  • 12. SK, CSDT 는 협력적. CONFORMIST는 편향적. AL 은 유용한 설계가 없 다는 비관적.
  • 13. SEPARATE WAYS 통합의 비용이 큰 경우 Bounded Context 간에 관계를 가지지 않도록 선언. ‣ 작은 범위내에서 단순하고 특화된 해결책을 만들도록 해라. ‣ 작은 범위내 작업은 결국 통합해야 하며, 그 중 비교적 비용이 큰 경우도 발생한다. ‣ 번역 계층을 만들어 해결해야 한다.
  • 14. OPEN HOST SERVICE 하위 시스템 번역기를 조정하기 힘듦. 하위 시스템 접근과 관련된 프로토콜을 서비스로 정의. 프로토콜을 공개, 사용하도록.
  • 15. PUBLISHED LANGUAGE OPEN HOST SERVICE 에 프로토콜을 언어로 공표. 사람들이 손쉽게 언어를 사용. 언어의 문서화로 인해 해석의 일관성(호환성).
  • 16. 코끼리 통일하기 개별적 Bounded Context를 통합하는 것은 어렵다. 단순한 통합 모델은 원시적이다. 새로운 요구 사항과 의사 소통으로 모델을 심화하고 정제할 수 있다. 자신의 인식이 불완전하다고 가정.
  • 17. 모델의 컨텍스트 전략 선택 팀 의사결정 또는 그 이상 - 통합시 발생하는 비용을 평가하고, 완화 조치 자신을 컨텍스트에 배치 - 작업중인 컨텍스트뿐만 아니라, 시스템 전체에 집중(???) ..... (생략)
  • 18. 변형 Bounded Context 에 대한 결정을 변경할 수 있다. 여러번의 반복주기로 달성.