개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 8장의 로드맵 도메인 이벤트가 무엇인지, 언제 그리고 왜 사용하는지 알아보자 이벤트가 객체로 모델링되는지, 언제 고유하게 식벼로대야 하는지 배우자 경량의 발행-구독 패턴을 알아보고, 클라이언트에 알림을 보내기 위해 이를 사용하는 방법을 살펴보자 이벤트를 발행시키는 컴포넌트와 구독하는 컴포넌트를 확인하자 이벤트 저장소를 개발해야 하는 이유와 개발하는 방법, 사용되는 위치를 생각해 보자 8장. 도메인 이벤트 도메인에서 발생한 사건을 포착하기 위해 도메인 이벤트를 사용..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 7장의 로드맵 도메인 모델의 정제가 어떻게 서비스의 필요성에 관한 인식으로 이어지는지 도메인에서 서비스는 무엇이고 서비스가 아닌 것은 무엇인지 서비스를 생성할지 결정할 떄 필요한 주의사항 서비스를 모델링하는 방법 7장. 서비스 도메인 내에서 서비스란 도메인 고유의 작업을 수행하는 무상태의 오퍼레이션이다. 도메인 모델에서 서비스를 생성할 필요가 있음을 알리는 가장 정확한 지표는 애그리게잇이나 값 객체 상에서 수행해야 하는 오퍼레이션이 메소드로는 부적절하게 느껴질 때..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 6장의 로드맵 값으로 모델링하기 위해 도메인 개념의 특징을 이해하는 방법을 배우자 통합의 복잡성을 최소화하기 위해 값 객체를 활용하는 방법을 살펴보자 값으로 표현된 도메인 표준 타입의 사용을 확인하자 6장. 값 객체 값 객체란 DDD의 필수적인 구성 요소다. 6장에서는 유비쿼터스 언어를 사용해 도메인 개념을 모델링하는 값에 관해 논의하고, 도메인 주도 설계의 목표에 관해 다른다. # 값 객체의 이점 측정하고 수량화하거나 설명해주는 값 타입은 생성, 테스트, 사용,..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 5장의 로드맵 고유한 대상을 설계할 때 엔티티가 왜 올바른 위치를 가지는지 엔티티를 위한 고유 식별자의 생성 방법 엔티티 설계에서 유비쿼터스 언어를 잡아내는 방법 엔티티의 역할과 책임 엔티티의 유효성 검사와 그 결과를 저장소에 저장하는 방법 5장. 엔티티 개발자는 도메인보다 데이터에 초점을 맞추려는 경향이 있다. 소프트웨어 개발에 관한 대부분의 접근법이 데이터베이스에 중점을 두기 때문에, DDD를 처음 접하는 사람에게 일어날 수 있는 현상이다. 풍부한 행동을 바탕..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 4장의 로드맵 DIP와 헥사고날 아키텍처를 통해 신뢰할 수 있는 계층 아키텍처를 개선하는 방법을 배우자 헥사고날이 서비스 지향과 REST를 지원하는 방법을 살펴보자 개인 데이터 패브릭이나 그리드 기반 분산 캐시의 관점과 이벤트 주도 스타일의 관점을 배우자 CQRS라는 새로운 아키텍처 패터이 어떻게 DDD에 도움이 될지 생각해보자 4장. 아키텍처 DDD의 가장 큰 장점 중 하난는 특정 아키텍처의 사용을 요구하지 않는다는 점입니다. 신중하게 만든 핵심 도메인이 바운디..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 3장의 로드맵 성공적인 프로젝트를 위해 컨텍스트 맵이 필수적인 이유 의미 있는 컨텍스트 맵을 그리는 방법 일반적인 조직과 시스템의 관계를 살펴보고 어떻게 프로젝트에 영향을 주는지 3장. 컨텍스트 맵 컨텍스트 맵은 두 가지 방법으로 표현할 수 있다. 1. 둘 이상의 기존 바운디드 컨텍스트들 사이의 매핑을 보여주는 다이어그램을 그리는 방법 2. 통합의 소스 코드 구현을 사용하면 좀 더 상세하게 컨텍스트 맵을 나타내는 방법 첫번째 방법은 쉽지만 이미 존재하고 있는 바운..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. # 2장의 로드맵 도메인, 서브도메인, 바운디드 컨텍스트를 이해 왜 전략적 설계가 필수적인지? 여러 서브도메인으로 이뤄진 실용적인 도메인을 구현 바운디드 컨텍스트의 개념과 기술 2장. 도메인, 서브도메인, 바운디드 컨텍스트 2-1. 도메인이란? 넓은 의미에서 도메인이란 한 조직이 행하는 일과 그 조직 안에 세계를 일컫는다. 조금 더 자세하게 정의한다면 이해의 영역과 조직의 작업을 수행하는 방법이 그 조직의 도메인이다. 한 조직을 위해 소프트웨어를 개발한다면, 그 조직..
개요 # 참고 IMPLEMENTING DOMAIN DRIVEN DESIGN (도메인 주도 설계 구현) - 반 버논 지음 # 개요 DDD에 대한 기술서적을 읽고 DDD가 무엇인지 이해하고 어떻게 코드에 적용시킬 수 있는지 고민해 보려고 한다. 1장에서는 DDD를 사용하며 얻을 수 있는 이점이 무엇이며, 왜 DDD를 사용해야 하는지 알아보고자 한다. 1장. DDD를 시작하며 1-1. DDD는 적용하는 것이 어려울까? DDD란 분명히 기술적으로 어려운 것은 맞다. 그러니 많은 개발자들이 DDD를 공부하려고 하는 것이라고 생각한다. 하지만 DDD를 적용한다면 분명 얻을수 있는 이점은 확실하다. DDD를 적용하면 다음 이점을 얻을수 있을것이라고 본다. 애자일을 넘어 비즈니스 영역의 깊은 통찰 테스트 주도를 넘어서..