전체 글
-
도메인 주도 설계의 적용-4.ORM과 투명한 영속성 2부[옛날 글들] 도메인 주도 설계 2024. 4. 24. 14:48
이전글 : 도메인 주도 설계의 적용-4.ORM과 투명한 영속성 1부 이 글은 제가 2008년 6월부터 10월까지 5개월간 마이크로소프트웨어에 연재했던 "도메인 주도 설계의 적용"이라는 원고의 원글입니다. 잡지에 맞추어 편집을 하는 과정에서 지면 상의 제약으로 인해 수정되거나 삭제된 부분이 있어 제 블로그에 원글을 올립니다. 도메인 주도 설계(Domain-Driven Design)에 관심 있는 분들에게 도움이 되었으면 합니다. 엔티티의 생명 주기엔터프라이즈 어플리케이션을 구성하는 도메인 객체의 생명 주기를 바라보는 시각은 크게 두 가지로 나눌 수 있다. 첫 번째는 도메인 객체의 생명주기를 구현 기술에 종속적인 시각으로 바라보는 것이다. 예를 들어 퍼시스턴스 메커니즘으로 JDBC를 직접 사용하는 트랜잭션..
-
도메인 주도 설계의 적용-4.ORM과 투명한 영속성 1부[옛날 글들] 도메인 주도 설계 2024. 4. 23. 07:59
이전글 : 도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 5부 이 글은 제가 2008년 6월부터 10월까지 5개월간 마이크로소프트웨어에 연재했던 "도메인 주도 설계의 적용"이라는 원고의 원글입니다. 잡지에 맞추어 편집을 하는 과정에서 지면 상의 제약으로 인해 수정되거나 삭제된 부분이 있어 제 블로그에 원글을 올립니다. 도메인 주도 설계(Domain-Driven Design)에 관심 있는 분들에게 도움이 되었으면 합니다. 코드와 모델을 밀접하게 연관시키는 것은 코드에 의미를 부여하고 모델을 적절하게 한다.-Eric Evans뒤돌아보기“우리는 주문 시스템이 필요해요.” 모든 것은 이 한마디로부터 시작됐다. 고객은 주문 시스템을 원한다. 이 시스템이 무엇을 해야 하는지는 아직 잘 모르..
-
도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 5부[옛날 글들] 도메인 주도 설계 2024. 4. 20. 09:12
이전글 : 도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 4부 이 글은 제가 2008년 6월부터 10월까지 5개월간 마이크로소프트웨어에 연재했던 "도메인 주도 설계의 적용"이라는 원고의 원글입니다. 잡지에 맞추어 편집을 하는 과정에서 지면 상의 제약으로 인해 수정되거나 삭제된 부분이 있어 제 블로그에 원글을 올립니다. 도메인 주도 설계(Domain-Driven Design)에 관심 있는 분들에게 도움이 되었으면 합니다. 너무 큰 보폭으로 진행한 것 같다. 잠시 숨을 고르고 ProductRepository에 대한 테스트를 추가하자. 지금 까지는 JUnit에서 제공하는 TestCase 클래스를 상속 받아 테스트 클래스를 작성했지만 Spring을 사용할 경우 빈컨텍스트에 대한 세밀한..
-
도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 4부[옛날 글들] 도메인 주도 설계 2024. 4. 18. 15:23
이전글 : 도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 3부 이 글은 제가 2008년 6월부터 10월까지 5개월간 마이크로소프트웨어에 연재했던 "도메인 주도 설계의 적용"이라는 원고의 원글입니다. 잡지에 맞추어 편집을 하는 과정에서 지면 상의 제약으로 인해 수정되거나 삭제된 부분이 있어 제 블로그에 원글을 올립니다. 도메인 주도 설계(Domain-Driven Design)에 관심 있는 분들에게 도움이 되었으면 합니다. 사용(Use)으로부터 구성(Configuration)을 분리하라UML 다이어그램을 통해 현재 설계에 어떤 문제점이 있는지 살펴보자. 그림2 OrderLineItem이 직접 CollectionProductRepository를 생성하기 때문에 OrderLineItem..
-
도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 3부[옛날 글들] 도메인 주도 설계 2024. 4. 17. 14:21
이전글 : 도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 2부 이 글은 제가 2008년 6월부터 10월까지 5개월간 마이크로소프트웨어에 연재했던 "도메인 주도 설계의 적용"이라는 원고의 원글입니다. 잡지에 맞추어 편집을 하는 과정에서 지면 상의 제약으로 인해 수정되거나 삭제된 부분이 있어 제 블로그에 원글을 올립니다. 도메인 주도 설계(Domain-Driven Design)에 관심 있는 분들에게 도움이 되었으면 합니다. 영속성(Persistence)과 리포지토리리포지토리는 도메인 객체 생성 이후의 생명주기를 책임진다. 도메인 객체가 생성되고 상태가 초기화된 후에는 리포지토리에게 넘겨진다. 리포지토리는 객체를 넘겨받아 내부 저장소에 보관하고 요청이 있을 경우 객체를 조회하여 반환하..
-
도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 2부[옛날 글들] 도메인 주도 설계 2024. 4. 16. 09:23
이전글 : 도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 1부 이 글은 제가 2008년 6월부터 10월까지 5개월간 마이크로소프트웨어에 연재했던 "도메인 주도 설계의 적용"이라는 원고의 원글입니다. 잡지에 맞추어 편집을 하는 과정에서 지면 상의 제약으로 인해 수정되거나 삭제된 부분이 있어 제 블로그에 원글을 올립니다. 도메인 주도 설계(Domain-Driven Design)에 관심 있는 분들에게 도움이 되었으면 합니다. 객체 그리고 영속성(Persistence)모든 객체는 생성자가 호출되는 시점에 생성된다. 값 객체의 수명은 짧다. 생성된 후 잠시 다른 참조 객체 또는 값 객체에 의해 사용되다가 다른 값 객체로 대체된다. 갈 길을 잃은 값 객체는 가비지 컬렉터에게 넘겨진 후 조..
-
도메인 주도 설계의 적용 - 3. 의존성 주입과 관점 지향 프로그래밍 1부[옛날 글들] 도메인 주도 설계 2024. 4. 13. 09:25
이전글 : 도메인 주도 설계의 적용 - 2. 애그리게이트와 리포지토리 5부 이 글은 제가 2008년 6월부터 10월까지 5개월간 마이크로소프트웨어에 연재했던 "도메인 주도 설계의 적용"이라는 원고의 원글입니다. 잡지에 맞추어 편집을 하는 과정에서 지면 상의 제약으로 인해 수정되거나 삭제된 부분이 있어 제 블로그에 원글을 올립니다. 도메인 주도 설계(Domain-Driven Design)에 관심 있는 분들에게 도움이 되었으면 합니다. 기록은 기억을 남긴다.- Baltasar Gracian 여기 한 사나이가 있다. 불안한 시선으로 방을 둘러보던 사나이는 자신의 몸에 새겨진 문신과 폴라로이드 사진에 적힌 문장 몇 줄에 의지해 이전의 상황을 재구성하려고 노력한다. 그는 전직 보험 수사관으로, 아내가 죽던 ..
-
도메인 주도 설계의 적용 - 2. 애그리게이트와 리포지토리 5부[옛날 글들] 도메인 주도 설계 2024. 4. 12. 21:42
이전글 : 도메인 주도 설계의 적용 - 2. 애그리게이트와 리포지토리 4부이 글은 제가 2008년 6월부터 10월까지 5개월간 마이크로소프트웨어에 연재했던 "도메인 주도 설계의 적용"이라는 원고의 원글입니다. 잡지에 맞추어 편집을 하는 과정에서 지면 상의 제약으로 인해 수정되거나 삭제된 부분이 있어 제 블로그에 원글을 올립니다. 도메인 주도 설계(Domain-Driven Design)에 관심 있는 분들에게 도움이 되었으면 합니다. 엔트리 포인트와 리포지토리Order는 주문 애그리게이트의 엔트리 포인트다. 따라서 주문이 필요한 경우 OrderRepository를 통해 해당 Order 객체를 얻을 수 있다. 그럼 특정한 고객에 대한 주문 목록을 얻어야 한다면 어떻게 해야 할까? 쉽게 생각해 볼 수 있는 ..