[Domain driven design] 17장 전략의 종합

1,196 views
1,101 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,196
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[Domain driven design] 17장 전략의 종합

  1. 1. 도메인 주도 설계 Domain-Driven Design 17장 전략의 종합 ohyecloudy http://ohyecloudy.com 아꿈사 http://cafe.naver.com/architect1 2011.10.01
  2. 2. 전략적 설계의 세 가지 기본 원칙이 어떻게 상호작용을 하는지 아주 간단하게 살펴본다. 그리고 지침들이 가득 좀 지루해요
  3. 3. 대규모 구조와 BOUNDED CONTEXT 결합 대규모 구조와 디스틸레이션 결합 평가 먼저 누가 전략을 세우는가? – p524, 525 전략적 설계 결정을 위한 6가지 필수 요소 기술 프레임워크도 마찬가지다 종합계획을 조심하라
  4. 4. 컨텍스트 CONTEXT MAP BOUNDED CONTEXT 조직화 기준으로 활용 UBIQUITOUS LANGUAGE CORE DOMAIN 디스틸레이션 EVOLVING ORDER 대규모 구조
  5. 5. 컨텍스트 CONTEXT MAP BOUNDED CONTEXT 조직화 기준으로 활용 컨텍스트, 디스틸레이션, 대규모 구조는 서로 대체 가능하지 않다. UBIQUITOUS LANGUAGE 서로 보안하며 상호작용 CORE DOMAIN 디스틸레이션 EVOLVING ORDER 대규모 구조
  6. 6. 컨텍스트 CONTEXT MAP BOUNDED CONTEXT 대규모 구조는 하나의 BOUNDED CONTEXT에서만 존재 조직화 기준으로 활용 UBIQUITOUS or LANGUAGE 여러 BOUNDED CONTEXT에 영향을 주면서 CONTEXT MAP을 구성 CORE DOMAIN 디스틸레이션 EVOLVING ORDER 대규모 구조
  7. 7. 대규모 구조와 BOUNDED CONTEXT 결합 대규모 구조와 디스틸레이션 결합 평가 먼저 누가 전략을 세우는가? – p524, 525 전략적 설계 결정을 위한 6가지 필수 요소 기술 프레임워크도 마찬가지다 종합계획을 조심하라
  8. 8. 컨텍스트 CONTEXT MAP BOUNDED CONTEXT UBIQUITOUS LANGUAGE CORE DOMAIN 개념을 추가 EVOLVING ORDER 조직화 기준으로 활용 디스틸레이션 대규모 구조
  9. 9. 컨텍스트 CONTEXT MAP BOUNDED 대규모 구조는 CONTEXT CORE DOMAIN 안의 각종 관계와 여러 GENERIC SUBDOMAIN 사이의 UBIQUITOUS 관계를 설명하는데 도움 LANGUAGE CORE DOMAIN 개념을 추가 EVOLVING ORDER 조직화 기준으로 활용 디스틸레이션 대규모 구조
  10. 10. 대규모 구조와 BOUNDED CONTEXT 결합 대규모 구조와 디스틸레이션 결합 평가 먼저 누가 전략을 세우는가? – p524, 525 전략적 설계 결정을 위한 6가지 필수 요소 기술 프레임워크도 마찬가지다 종합계획을 조심하라
  11. 11. CONTEXT MAP을 그려라. 일관된 CONTEXT MAP을 그릴 수 있는가? 그렇지 않다면 모호한 상황이 있는가?
  12. 12. 프로젝트상의 언어를 쓰는 데 힘써라. UBIQUITOUS LANGUAGE가 있는가? UBIQUITOUS LANGUAGE가 개발에 도움을 줄 만큼 풍부한가?
  13. 13. 무엇이 중요한지 이해하라. CORE DOMAIN을 식별했는가? DOMAIN VISION STATEMENT가 있는가? DOMAIN VISION STATEMENT를 작성할 수 있는가?
  14. 14. 프로젝트에 사용하는 기술이 MODEL-DRIVEN DESIGN에 유리한가, 불리한가?
  15. 15. 팀 내 개발자가 필요한 기술 역량을 갖췄는가?
  16. 16. 개발자들이 도메인을 잘 알고 있는가? 개발자들이 도메인에 관심은 있는가?
  17. 17. 완벽한 답 못 찾겠지? 하지만 이런 질문은 견실한 출발점을 마련해 줌
  18. 18. 구체적인 답을 마련할 때 가장 먼저 뭘 해야 할지에 대한 통찰력이 생길 때
  19. 19. 대규모 구조와 BOUNDED CONTEXT 결합 대규모 구조와 디스틸레이션 결합 평가 먼저 누가 전략을 세우는가? – p524, 525 전략적 설계 결정을 위한 6가지 필수 요소 기술 프레임워크도 마찬가지다 종합계획을 조심하라
  20. 20. 1 의사결정은 팀 전체에 퍼져야 한다. 의사소통이 중요
  21. 21. 2 의사결정 프로세스는 피드백을 흡수해야 한다 디스틸레이션을 만드려면 깊이 있는 지식이 필요 애플리케이션 개발팀이 가지고 있지 아키텍처 팀 구성원과 피드백 고리가 필요
  22. 22. 3 계획은 발전을 감안해야 한다 혁신은 장애물을 만나거나 예상치 못한 기회를 발견했을 때 나타난다.
  23. 23. 4 아키텍처 팀에서 가장 뛰어나고 똑똑한 사람들을 모두 데려가서는 안된다 훌륭한 애플리케이션에는 설계 솜씨가 필요. 훌륭한 전략적 설계를 만들었다고 해도 애플리케이션 팀에서 못 따라가면 캐망
  24. 24. 5 전략적 설계에는 최소주의와 겸손이 필요 필요 이상의 아키텍처를 주의
  25. 25. 6 객체는 전문가, 개발자는 다방면에 지식이 풍부한 사람 지나친 전문화는 도메인 주도 설계의 활력을 앗아간다.
  26. 26. 대규모 구조와 BOUNDED CONTEXT 결합 대규모 구조와 디스틸레이션 결합 평가 먼저 누가 전략을 세우는가? – p524, 525 전략적 설계 결정을 위한 6가지 필수 요소 기술 프레임워크도 마찬가지다 종합계획을 조심하라
  27. 27. 기술 프레임워크는 인프라스트럭처 계층 제공 도메인을 다른 관심사에서 격리되게 도와줌 애플리케이션 개발 속도를 대폭 향상
  28. 28. 하지만 표현력 있는 구현과 손쉬운 변경 방해 프레임워크 설계자가 도메인 계층이나 애플리케이션 계층에 뛰어들 의도가 전혀 없을 때도 생긴다.
  29. 29. 멍청이들을 위한 프레임워크를 작성하지 마라 설계를 할 만큼 똑똑하지 않다면 소프트웨어를 개발하는 부서에 배정해서는 안 된다
  30. 30. 대규모 구조와 BOUNDED CONTEXT 결합 대규모 구조와 디스틸레이션 결합 평가 먼저 누가 전략을 세우는가? – p524, 525 전략적 설계 결정을 위한 6가지 필수 요소 기술 프레임워크도 마찬가지다 종합계획을 조심하라
  31. 31. 실제로 종합계획은 실패한다. 그 이유는 종합계획이 유기적 질서가 아닌 전체주의적인 질서를 만들어내기 때문이다. 자연스럽고 예측 불가능한 변화에 적응하지 못한다. - 오레곤 실험 p16~28
  32. 32. 대규모 구조와 BOUNDED CONTEXT 결합 대규모 구조와 디스틸레이션 결합 평가 먼저 누가 전략을 세우는가? – p524, 525 전략적 설계 결정을 위한 6가지 필수 요소 기술 프레임워크도 마찬가지다 종합계획을 조심하라

×