Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

아꿈사 DDD(Domain-Driven Design) 5장 소프트웨어에서 표현되는 모델

7,690 views

Published on

  • Follow the link, new dating source: ❤❤❤ http://bit.ly/36cXjBY ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ♥♥♥ http://bit.ly/36cXjBY ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

아꿈사 DDD(Domain-Driven Design) 5장 소프트웨어에서 표현되는 모델

  1. 1. 도메인 주도 설계 Domain-Driven Design Eric Evans5장. 소프트웨어에서 표현되는 모델(일부) 아꿈사 http://cafe.naver.com/architect1 안명환 homepage: http://eritaka.net twitter: @eritakas
  2. 2. 소프트웨어에서 표현되는 모델 MODEL-DRIVEN DESIGN 모델을 표현 VALUE ENTITY SERVICE MODULE OBJECT• 객체의 의미에 따른 모델을 구분한다
  3. 3. 연관관계• 현실세계의 두 사물간의 관계 – 다대다(*:*) 관계가 흔하다 – 애초부터 양방향(bidirection)인 경우가 많다• 현실세계를 그대로 모델링하면… – 구현과 유지보수가 복잡해진다 – 해당 관계의 특성이 드러나지 않는다• 결론: 가능한 한 관계를 제약하자!
  4. 4. 연간관계 간소화 방법1. 탐색 방향을 부여한다2. 한정자(qualifier)를 추가해서 다중성 (multiplicity)을 줄인다3. 중요하지 않은 연관관계를 제거한다 • 요구사항을 분석하여 설계를 단순하게 정제
  5. 5. 1. 탐색 방향을 부여한다• 조지 워싱턴이 대통령이었던 나라가 어디 입니까?• 미국의 대통령은 누구인가요? 국가 국가 대통령 대통령 * * 사람 사람
  6. 6. 2. 한정자를 추가하여 다중성을 줄이자• 미국의 대통령은 누구인가요?• 1790년에 미국의 대통령은 누구인가요? 국가 국가 기간 대통령 대통령 * 사람 사람
  7. 7. Entity• 사전적 의미 – 존재간의 서로 구별되는 것 – 물질적 존재와는 상관없음• Entity라는 용어가 혼란스러워도… – DB: ERD (Entity-Relationship Model) – J2EE: Entity Bean (실제 Entity와는 다르지만)• 그래도 본질은 같습니다.
  8. 8. Entity가 된 에어에게…• 내가 구매 버튼을 누르기 전에는 그는 다만 하나의 고철 덩어리에 지나지 않았다.• 내가 전원 버튼을 눌러 주었을 때 그는 나 에게로 와서 진정 맥북에어가 되었다. 이것은 오직 나만의 사자…
  9. 9. DDD – Entity Model• 어떤 객체를 해당 객체의 식별성으로 정의할 경우 Entity라고 한다• Entity의 형태와 내용은 바뀔 수 있다.• Entity의 정체성이 중요!• 자바의 ‘==‘ 연산자와 같은 메모리 동등 비교 는 Entity와 상관없다• 개념적 속성이므로 언어에서 제공하는 자동화 된 기능으로 대체할 수 없다.
  10. 10. Entity Modeling• 속성이나 행위에 집중하지 말고 본질적인 식별성에 중점을 두고 정의하라.• 즉, 클래스 정의를 단순하게 하고 생명 주 기의 연속성과 식별성에 집중하라. class Exam class Exam Customer Customer - 고객ID Business Line - 이름 - 고객ID - 제품 분류 - 이름 - 제품 분류 - 평균 매출액 - 전화번호 - 평균 매출액 - 주소 Sales Contact Sales Contact - 영업사원 - 우선순위 - 영업사원 - 전화번호 - 우선순위 - 주소
  11. 11. Value Object• 개념적 식별성을 갖지 않으면서 도메인의 서술적 측면을 나타내는 객체• 모든 것에 식별성을 부여하고 Entity로 관 리한다면 복잡성이 증가• DTO(Data Transfer Object)의 과거이름 인 Value Object와는 상관없다
  12. 12. Value Object• 개념적 완전성을 형성해야 함 – 도메인 내에서 해당 개념을 온전히 표현해야 한다 (Whole Value Pattern) class Exam class Exam Customer - 고객ID - 이름 Customer - 주소 - 고객ID - 이름 - 읍면동 - 시군구 - 도 Address - 읍면동 - 시군구 - 도
  13. 13. Value Object 설계• Value Object는 많아지는 경향이 있으므 로 성능 최적화를 생각해야 함• 객체를 안전하게 공유하기 위해서 불변적 (immutable)이어야 한다• 알고리즘이 포함되어 있을 수도 있다• 구현 예 Flyweight Pattern을 이용한 최적화 – .net 의 struct
  14. 14. 끝?아닙니다.SERVICE부터는다음 발표자…

×