Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
doamin-driven_design:08_breakthrough [2023/10/18 12:45] ledyxdoamin-driven_design:08_breakthrough [2024/02/17 15:21] (current) – removed ledyx
Line 1: Line 1:
-= 08 도약 = 
- 
-Breakthrough 
- 
-{{tag>Domain-Driven_Design  Modeling Design}} 
- 
-    도약 ≒ 심층 모델 찾기 
- 
-리팩터링의 효과는 선형적으로 증가하지 않는다. (계단식) 
-리팩터링은 __레거시 시스템이 퇴보하는 것을 막는 최전선에 놓여 있다__. 
-(저자가 말하는) 이런 부류의 도약은 __기법이 아니다__. 그것은 **사건**이다. 중요한 문제는 **무슨 일이 일어나고 있는지 인식하고 이를 어떻게 처리할지 결정**하는 것이다. 
-이런 도약을 하려면 도메인을 완전히 이해한 상태에서 Ubiquitous Language를 사용하고, 모델을 개선하는 과정에 나타난다. 
- 
-리팩터링의 근본적인 취지는 
-항상 모든 것이 정상적으로 작동하는 상태를 유지하면서 
-작은 단계를 밟아가며 코드를 개선해야 한다는 점이다. 
- 
- 
-== 도약에 관한 일화 == 
- 
-== 기회 == 
- 
-<note> 
-심층 모델로 도약할 수 있는 기회가 찾아올 때 우리는 종종 //두려움//을 느낀다. 
-그러한 변화는 대부분의 리팩터링에 수반되는 것보다 __더 큰 기회와 더 큰 위험__을 수반한다. 그리고 __시점이 적절하지 못할 수도 있다__. 
- 
-달라지기를 염원하는 만큼 진행 과정이 순탄한 것은 아니다. 
-진정으로 심층적인 모델로 나아가려면 **근본적인 사고방시의 전환**이 필요하며 **설계의 대부분을 수정**해야 한다. 
-많은 프로젝트에서는 모델과 설게에서 나타나는 가장 중요한 발전은 **이러한 도약을 거쳐 이뤄진다**. 
- 
-pp213 
-</note> 
- 
-== 기본에 집중하라 == 
- 
-도약을 위해 **프로젝트 진행을 정지한 채 마비상태에 빠져서는 안 된다.**\\ 
-일반적으로 **수많은 적정 규모의 리팩터링을 수행**하고 나서야 도약이 나타나기 때문이다.  
- 
-도약이 등장할 수 있는 무대를 마련하려면 **지식탐구**와 함께 인내심을 가지고 **Ubiquitous Langugage**를 만드는 일에 집중해야 한다. 
-중요한 도메인 개념을 조사하고 그러한 개념을 모델내에 명시적으로 표현한다. (9장) 
-유연해지도록 설계를 정제한다. (10장) 
-모델의 정수를 추출한다. (15장) 
- 
-== 후기 : 연이은 새로운 통찰력의 출현 == 
- 
-심층 모델로의 진정한 도약을 거치고 나면 
-새로운 설계의 명확성과 단순함이 
-새로운 Ubiquitous Langugage를 기반으로 한 개선된 의사소통과 결합되어 
-또 다른 모델링 도약으로 이어지는 사례가 자주 발생한다. 
- 
  
doamin-driven_design/08_breakthrough.1697629536.txt.gz · Last modified: 2023/10/18 12:45 by ledyx