도메인 주도 설계

Publish date: 2020-07-24
Tags: 설계 ddd

인상깊은 단락

서문

반면, 좋은 설계는 이렇나 복잡한 특징을 활용할 기회를 만들어 줄 수 있다.

p2

모델은 대상을 단순화한 것이다. 즉, 모델을 어떤 사실을 해석한 것으로 볼 수 있고, 당명한 문제를 해결하는 것과 관련된 측면을 추상화하고 그 밖의 중요하지 않은 세부사항에는 주의를 기울이지 않는다.

p3

도메인 모델은 어떤 특정한 다이어그램이 아니라 다이어그램이 전달하고자 하는 아이디어다. 도메인 모델은 단지 도메인 전문가의 머릿속에만 존재하는 지식이 아니라 해당 지식을 엄격하게 구성하고 선택적으로 추상화한 것이다.

도메인 모델링은 어떤 목적에 따라 제약에 구애받지 않고 현실을 표현하는 영화 제작에 더 가깝다.

p15

이러한 모델은 결코 완벽해질수 없으며, 다만 곘고 발전해나갈 뿐이다. 모델은 도메인을 이해하는 데 실용적이고 유용해야 한다. 또한 모델은 쉽게 구현하고 이해하기에 충분할 만큼 엄밀해야 한다.

p33

수준 높은 도메인 전문가도 해당 모델을 이해하지 못했다면 모델이 뭔가 잘못된 것이다.

p76

예를 들면, 초창기의 J2EE 어플리케이션에서는 이따끔 도메인 객체를 모두 “엔티티 빈"으로 구현하곤 했다. 이러한 접근법은 성능과 개발 속도면에서 모두 좋지 않은 결과를 초래했다. 반면 오늘날 우수 실천법은 대부분의 업무 로직을 일반 자바 객체로 구현함녀서 구성 단위가 큰(large grain) 객체에 대해서는 J2EE 프레임워크를 사용하는 것이다.

p61

누가 좋아하건 말건 프로그래머가 곧 모델러다. 그러므로 프로그래머가 훌륭한 모델링 업무를 할수 있게 프로젝트를 구성하는 것이 바람직하다.

p71

계층화의 핵심 원칙은 한 계층의 모든 요소는 오직 같은 계층에 존재하는 다른 요소나 계층 상 “아래"에 위치한 요소에만 의존한다는 것이다.

p77

(프레임워크의 발전에 대한 언급)

제대로만 된다면 애플리케이션 개발자들은 핵심적인 업무 관련 문제만 모델링하는 데 점점 더 많은 시간을 보내고 되고 생산성과 품질이 더 향상될 것이다. 그러나 이러한 방향으로 나아가더라도 우리는 기술적인 해결책에 대한 열정만큼은 반드시 사수해야 한다. 정교한 프레임워크는 애플리케이션 개발자들을 속박할 수도 있다.

p78

하지만 SMART UI는 하나의 대안에 불과하며, 도메인 주도 설계 접근법과는 양립할 수 없는 상호배타적인 접근법이다.

p79

여기서 SMART UI를 고려해보는 것은 우리가 왜 도메인에서 애플리케이션을 분리하는지, 그리고 더 중요한 것은 언제 우리가 그렇게 분리하고 싶지 않은지를 이해하는 데 도움이 될 것이다.

p84

어떤 객체가 연속성(continuity)와 식별성(identity, 각종 상태를 바탕으로 추적되거나 서로 다른 구현에 걸쳐 존재하는 것)을 지는 것을 의미하는가? 아니면 다른 뭔가의 상태를 기술하는 속성에 불과한가? 이것은 ENTITY와 VALUE OBJECT를 구분하는 가장 기본적인 방법이다.

기술적인 측정 수단으로 여겨지는 높은 응집도(high cohesion)와 낮은 결합도(low coupling)라는 개념은 도메인 개념에도 적용할 수 있다.

p85

어플리케이션 요구사항에 두 방향을 모두 탐색해야한다는 요건이 없을 경우 탐색 방향을 추가하면 상호의존성이 줄어들고 설계가 단순해진다. 그리고 도메인을 이해하면 도메인 본연의방향성이 드러날지도 모른다.

(오역인지 확인필요)

p96

앞서 언급한 바와 같이 객체지향 언어에는 객체의 메모리 주소를 비교해서 두 객체 참조가 같은 것을 가리키는지 판단하는 “동일성” 연상이 포함돼 있다. 그러나 이 정도의 식별성 관리만으로는 우리의 목적을 달성하기에 부족하다. 대부분의 객체 영속화 기술은 매번 데이터베이스에서 객체를 가져올 때마다 새로운 인스턴스를 생성하므로 초기 식별성은 잃어버리게 된다.

p100

주소가 VALUE OBJECT인지의 여부.

p104

다시 말하건데, VALUE의 구현이 변경 가능하다면 그것을 공유해서는 안 된다.

p106

모델에 포함된 연관관계의 수가 더 적고 연관관계가 단수할수록 더 나은 모델이라 할 수 있다.

p114

모델이 어떤 이야기를 들려주는 것이라면 MODULE의 이야기의 각 장에 해당한다.

p115

Wild card import의 긍정적인 측면

comments powered by Disqus