개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 14장의 로드맵 사용자 인터페이스가 렌더링 할 수 있도록 도메인 모델의 데이터를 제공하는 방법 애플리케이션 서비스가 어떻게 구현되는지와 어떤 오퍼레이션을 수행하는지 애플리케이션 서비스와 출력 사이의 결합을 제거하는 방법과 클라이언트 타입을 구분하는 방법 사용자 인터페이스 안에 여러 모델을 구성해야 하는 이유와 구성하는 방법 인프라를 사용해 애플리케이션을 구현하는 기술적 방법 14장. 어플리케이션 도메인 모델은 대개 애플리케이션의 심장부에 있다. 애플리케이션에는 도..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 13장의 로드맵 분산 컴퓨팅 환경에서 시스템을 성공적으로 통합하는 방버ㅓㅂ 레스트풀 리소스를 사용한 통합 방식 메시징을 사용해 통합하는 방법 여러 바운디드 컨텍스트에 걸쳐서 정보를 복제하려고 할 때 겪을 수 있는 어려움 설계 접근법의 성숙도를 높이는 법 13장. 바운디드 컨텍스트의 통합 중요한 프로젝트라면 언제나 다수의 바운디드 컨텍스트가 있으며, 그 바운디드 컨텍스트 중 둘 이상은 반드시 통합해야 한다. 컨텍스트 맵을 사용해 바운디드 컨텍스트 사이에 존재하는 일..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 12장의 로드맵 두 가지 종류의 리파지토리가 무엇인지, 어떤 경우에 어떤 유형을 사용해야 하느지 하이버네이트, 탑링크, 로히어런스, 몽고DB를 위한 리파지토리를 어떻게 구현하는지 살펴보자 왜 리파지토리의 인터페이스상에 추가적인 행동이 필요한지 이해하자. 리파지토리를 사용할 때 트랜잭션이 어떻게 작용하는지 타입 계층구조를 위한 리파지토리를 설계할 때의 어려움에 익숙해지자 리파지토리와 데이터 액세스 객체 사이의 근본적인 차이점을 살펴보자. 12장. 리파지토리 리파지토..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 11장의 로드맵 팩토리 사용이 유비쿼터스 언어에 부합하는 표현력이 좋은 모델을 생성하게 해주는 이유 팩토리 메소드를 애그리게잇의 행동으로 사용하는 방법 다른 타입의 애그리게잇 인스턴스를 생성하기 위해 팩토리 메소드를 어떻게 사용할지 생각해보자 다른 바운디드 컨텍스트와 상호작용하고 외래 객체를 로컬 타입으로 변환하는 팩토리로서 도메인 서비스를 설계하는 방법을 배우자 11장. 팩토리 팩토리는 아마도 DDD에서 사용되는 패턴 중에서 좀 더 잘 알려진 편에 속하는 패턴이..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 10장의 로드맵 잘못된 애그리게잇의 모델링이 초래하는 부정적인 결과 애그리게잇 경험 법칠에 따라 설계하는 방법 일관성의 경계 안에서 실제 비즈니스 규칙에 따라 진정한 고정자를 모델링하는 방법 애그리게잇을 작게 설계할 때 얻을 수 있는 이점 애그리게잇의 다른 애그리게잇을 참조할 때 식별자를 사용하는 이유 애그리게잇 경계 바깥에서 결과적 일관성을 사용해야 하는 중요성 10장. 애그리게잇 처음에는 신중을 가해서 일관성 경계를 통해 엔티티와 값 객체를 애그리게잇으로 묶는..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 9장의 로드맵 전통적인 모듈과 배포 모듈성이라는 새로운 접근법의 차이점 유비쿼터스 언어에 따라 모듈 이름을 짓는 일의 중요성 기계적인 모듈 설계가 실제로 모델링의 창의성을 억누르는 상황 도메인 모델 밖에서 모듈이 수행하는 역할과, 새로운 바운디드 컨텍스트 보다 새로운 모듈을 선호해야 할 때가 언제인지 9장. 모듈 자바를 사요하고 있따면 이미 모듈과 친숙한 상태이다. 자바에선 이를 패키지라고 부른다. 9-1. 모듈로 설계하기 DDD컨텍스트에서 모델 안의 모듈은 서로..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 8장의 로드맵 도메인 이벤트가 무엇인지, 언제 그리고 왜 사용하는지 알아보자 이벤트가 객체로 모델링되는지, 언제 고유하게 식벼로대야 하는지 배우자 경량의 발행-구독 패턴을 알아보고, 클라이언트에 알림을 보내기 위해 이를 사용하는 방법을 살펴보자 이벤트를 발행시키는 컴포넌트와 구독하는 컴포넌트를 확인하자 이벤트 저장소를 개발해야 하는 이유와 개발하는 방법, 사용되는 위치를 생각해 보자 8장. 도메인 이벤트 도메인에서 발생한 사건을 포착하기 위해 도메인 이벤트를 사용..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 7장의 로드맵 도메인 모델의 정제가 어떻게 서비스의 필요성에 관한 인식으로 이어지는지 도메인에서 서비스는 무엇이고 서비스가 아닌 것은 무엇인지 서비스를 생성할지 결정할 떄 필요한 주의사항 서비스를 모델링하는 방법 7장. 서비스 도메인 내에서 서비스란 도메인 고유의 작업을 수행하는 무상태의 오퍼레이션이다. 도메인 모델에서 서비스를 생성할 필요가 있음을 알리는 가장 정확한 지표는 애그리게잇이나 값 객체 상에서 수행해야 하는 오퍼레이션이 메소드로는 부적절하게 느껴질 때..