O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

11.분석패턴

1.649 visualizações

Publicada em

도메인 주도 설계 11장 분석패턴

Publicada em: Tecnologia
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

11.분석패턴

  1. 1. 11. 분석 패턴의 적용<br />박종석<br />아꿈사<br />
  2. 2. 목적<br />분석 패턴의 목록을 만드는 것 (X)<br />예제에 사용된 패턴을 완전하게 설명 하려는 것 (X)<br />도메인 주도 설계 과정과 분석 패턴을 함께 통합하는 방법을 설명하는 것 (0)<br />
  3. 3. 분석 패턴 : 재사용 가능한 객체 모델<br />어떻게 모델링을 해야 하는지 그 기법, 또는 절차를 설명하기 보다, 모델링을 한 결과인 모델 그 자체에집중<br />
  4. 4. 책의 구조 : First section<br />Analysis pattern<br />Conceptual business model pattern<br />provide key abstractions from domains such as trading, measurement, accounting, and organizational relationships<br />represent the way people think about the business, rather than the way a computer system is designed<br />
  5. 5. 책의 구조 : Second section<br />Support patterns<br />how analysis patterns fit into an information systems architecture<br />how the constructs of conceptual models turn into software interfaces and implementations<br />
  6. 6. 디자인 패턴과 분석 패턴<br />각 디자인 패턴은 기존환경내에서 반복적으로 일어나는 문제들을 설명한 후, 그 문제들에 대한 해법의 핵심을설명해 줍니다. 똑같은 방법으로 두 번 하지 않고 이 해법을 100만번 이상 재사용할 수 있도록 말이죠 – 디자인 패턴 (크리스토퍼알렉산더)<br />분석 패턴은 업무 모델링 과정에서 발견되는 공통적인 구조를 표현하는 개념의 집합이다. 분석 패턴은 단 하나의 도메인에 대해서만 적절할 수도 있고 여러 도메인에 걸쳐 적용이 가능할 수도 있다. <br />디자인 패턴은 추상적이고 분석 패턴은 구체적이다.<br />
  7. 7. 디자인 패턴에는 없는 분석 패턴의 장점<br />파악하기 힘든 도메인 분석의 출발점, 지침서, 깔끔하게 추상화된 어휘집<br />물론 정답은 아니다.. 하지만 훌륭한 출발점이 된다.<br />구현할 때 고려해야 할 영향력에 대한 지침을 제공<br />실제 경험을 바탕으로 실용적인 지침<br />… 이 작업은 시스템을 다시 컴파일하거나 빌드하지 않고도 시스템이 가동하는 중에 수행할 수 있다. … 필요한 상황을 피할 수 없는 경우도 있겠지만 그런 일은 드물게 발생할 것이다. <br />모델 선택의 배경이 된 논리와 그에 따르는 영향력까지 제공<br />가장 중요하고 어려운 결정 사항에 집중<br />어떤 것을 선택해야 하는지와 그 대안을 제시<br />하부 활동의 영향력을 예측할 수 있게 만들어 줌<br />
  8. 8. 분석 패턴이 없다면?<br />1 chaper지식 탐구 참고<br />
  9. 9. 예제 1: 계좌의 이자 수익<br />분석패턴과 비슷한 도메인에 해당하는 모델을 적용한 사례<br />
  10. 10. 그림 11-1 : 초기 클래스 다이어그램<br />이자(interest)와 수수료(fee)로 Asset이 이루어짐<br />각각은 그 내역(History)를 가짐<br />
  11. 11. 그림 11-2: 기본적인 회계 모델<br />값을 추가 : Account에 양의 Entry를 삽입<br />값을 뺌 : Account에 음의 Entry를 삽입<br />변경내역 관리를 위해 Entry를 삭제하지 않는다.<br />잔액은 Entry를 통해 계산<br />
  12. 12. 그림 11-3: 거래 모델<br />보존(Conservation)을 위해 Transaction 도입<br />하나의 Account에서 다른 Account로 돈이 이동<br />Transaction은 2개의 Entry를 동시에 생성한다. (음&양)<br /> 총 양은 보존된다.<br />
  13. 13. 그림 11-4: 새로운 모델 제안<br />수수료(fee) 내역 관리를 위해 Fee Account와 Entry도입<br />이자(interest) 내역 관리를 위해 Interest Account와 Entry도입<br />거래모델에서처럼 2개의 Entry와 Transaction을 도입<br /> 원래의 의도와 맞지 않음, 원래 의도는 상이한 Account간의<br />  Entry이동을 위한 것<br />
  14. 14. 그림 11-5: 발생이 상환에서 분리돼 있는 원래의 클래스 다이어그램<br />원래의 다이어그램이 오히려 해당 도메인을 더 잘 표현하고 있다.<br /> 분석 패턴이 정답이 아니다. <br />
  15. 15. 그림 11-6: Transaction을 제거한 계정 기반 다이어그램<br />그대로 따라 하지 말고 핵심아이디어를 소화해서 적용해야 한다.<br />
  16. 16. 그림 11-7: 구현 후의 클래스 다이어그램<br />구현 이슈 때문에 모델이 변경됨<br />Fee Entry와 Interest Entry는 통합되지 못함 <br />Fee Calculator와 Interest Calculator는 SIDE-EFFECT-FREEFUNCTION으로 작성<br /> 가장 복잡한 부분을 분석하고 테스트하기 쉽게 하기 위해<br />  이들 내부에서 유지하던 Entry가 Asset으로 옮겨감<br />
  17. 17. 예제 2: 야간 배치 프로그램에 대한 통찰력<br />분석패턴의 도메인과 그다지 상관없어 보이는 곳에 분석패턴을 적용한 사례<br />
  18. 18. 야간 배치 작업<br />기존엔 스크립트 코드 내에 도메인 로직이 간접적으로 포함돼 있었고, 시감이 흐르면서 점점 더 복잡해 짐<br />배치 로직= 객체로 표현하기에 부적절한 프로시저<br />야간 배치 프로그램과 연동하도록 새로운 설계를 개선해야 하는 개발자는 배치의 작동 방식과 분석 패턴에 포함돼 있는 일부 개념간의 연관성을 인식하기 시작했다.<br />
  19. 19. 그림 11-8: 기본 기입 규칙(Posting Rule)을 표현하는 클래스 다이어그램<br />새로운 Entry가 입력 계정에 추가되면 기입 규칙이 실행된다.<br />기입 규칙은 계산 Method를 사용해서 새로운 Entry를 생성하고 Account에 삽입<br />봉급 Account라면 Entry가 추가될때마다 30%의 세금 계산 Posting Rule이 수행<br />수행결과 생성된 Entry를 원천징수세액 Account에 삽입<br />정확히 개념이 딱 맞아 떨어지는 것은 아니지만, <br />각 Entry에 적용될 새로운작업을 Triggering 한다는 개념이 비슷하다.<br />규칙을 객체화 하여 관리하면, 상호 연관된 규칙 때문에 뒤죽박죽 되지 않는다.<br />
  20. 20. 기입 규칙 수행 시기<br />적극적인 실행<br />Account 기반 실행<br />Posting-Rule 기반 실행<br />Posting Rule을 실행하는 외부 에이전트에 의해 작업이 수행됨<br />야간 배치 작업에서 이용할 수 있음!<br />
  21. 21. 그림 11-9: 배치에 Posting Rule을 적용한 화면<br />배치 스크립트가 posting rule을 수행<br />Posting rule은 도메인의 지식을 필요로 하기 때문에 도메인 영역으로…<br /> 복잡성은 도메인 계층 내부로, 배치 스크립트는 심플해짐<br />  도메인에 추가된 복잡성은 모델을 좀더 추상적이고 명확하게 함<br />
  22. 22. 그림 11-10: Posing Rule이 포함된 클래스 다이어그램<br />분석 패턴에서는 Account와 Posting Rule을 직접 연결<br />우리 시스템에서의 Asset객체는 개별 Account의 내용을 알고 있기 때문에<br />어떤 Posting Rule을 적용해야 할지 알고 있다.<br /> 즉, Asset이 Posting Rule을 호출하는 형태여야 한다.<br />  배치가 Asset을 접근하는 형태이어야 한다.<br />
  23. 23. 그림 11-11: 규칙 실행을 보여주는 시퀀스 다이어그램<br />
  24. 24. 분석 패턴 적용 시 유의점<br />패턴의 외견상의 형태는 변경해도 무방하지만 패턴이 의미하는 기본적인 개념은 유지<br />
  25. 25. … 마지막으로<br />우리 도메인이 분석 패턴에 있다면?<br />당신은 행운아!<br />우리 도메인이 분석 패턴에 없다면?<br />자신만의 분석 패턴을 만들고 발전 시키자!<br />
  26. 26. Q&A<br />

×