DDD

    [DDD] 도메인 주도 개발을 실제로 적용해보면서

    [DDD] 도메인 주도 개발을 실제로 적용해보면서

    DDD를 공부하고 프로젝트에 적용한 부분을 중심으로 기록한다. 앞 내용은 대부분 이론 내용이니, 실제 개발을 해보며 느낀점은 글의 마지막 부분을 참고하자. 도메인 주도 개발 도메인 도메인이란 소프트웨어로 해결하고자 하는 문제 영역에 해당한다. → 요구사항으로 볼 수 있다. +) 개발자는 도메인 설계를 위해 요구사항을 정확히 숙지하여야 하며 도메인 전문가와 꾸준히 소통할 수 있어야 한다. 도메인 모델 도메인 모델은 특정 도메인을 개념적으로 표현한 것이다. → 도메인 자체를 이해하기 위한 개념 모델이다. 도메인이 지니고 있는 특성과 기능을 파악할 수 있다. ex) 객체 기반 모델 도메인 모델 설계 요구사항 분석을 통해 도메인에 대한 초기 모델을 설계한다. 예를 들어 다음과 같은 요구사항이 있을 때, 계좌간 ..

    [DDD Start] 아키텍처 개요

    [DDD Start] 아키텍처 개요

    도메인 주도 개발 시작하기 책 정리 도메인 주도 개발 시작하기 실제 업무에 도메인 주도 설계(DDD)를 적용할 수 있도록 기본적인 DDD의 핵심 개념을 익히고 구현을 통해 학습할 수 있도록 구성한 DDD 입문서 www.hanbit.co.kr 네 개의 영역 ✅ 표현 사용자의 요청을 받아 응용 영역에 전달하고 응용 영역의 처리 결과를 다시 사용자에게 보여주는 역할 -> 스프링 MVC가 표현 영역을 위한 기술에 해당한다. ✅ 응용 시스템이 사용자에게 제공해야 할 기능을 구현 -> 도메인 로직을 직접 수행하기보다는 도메인 영역에 로직 수행을 위임한다. ✅ 도메인 도메인의 핵심 로직(도메인 모델)을 구현한다. ✅ 인프라스트럭처 구현 기술에 대한 것을 다룬다. 계층 구조 아키텍처 ✅ 계층 구조 네 개의 영역을 구성..

    [DDD] 조용호님 특강: 도메인 주도 설계의 사실과 오해

    감사하게도 조용호님의 회사에 오셔서 DDD 관련 특강을 해주셨다. DDD의 철학에 대해 많은 인사이트를 얻을 수 있었는데, 본 글은 이에 대해 빠르게 정리한 내용이다. 강의 소개 DDD는 2003년 “도메인 주도 설계(by 에릭 에반스)” 책으로 등장. 책의 배경: 소프트웨어 복잡성을 줄이고 싶다 -> “어떤” 부분 때문에 복잡한 것 같은데 -> 이를 해소하기 위해 도메인 주도 설계를 도입하자. -> 모두가 이야기하지한 누구도 제대로 이해하지 못한 책 -> 이번 강의는 책을 이해할 수 있는 방법을 이해하는 강의 DDD는 철학이다. 그리고 이를 구현하는 방법은 정말 다양하다. DDD를 구현부터 공부하면 하나의 구현 방법이 맞다고 생각할 수도 있다. DDD의 철학을 먼저 배우고, 이것이 지향하는 방향대로 구..

    [DDD Start] 도메인 모델 시작하기

    [DDD Start] 도메인 모델 시작하기

    도메인 주도 개발 시작하기 책 정리 도메인 주도 개발 시작하기 실제 업무에 도메인 주도 설계(DDD)를 적용할 수 있도록 기본적인 DDD의 핵심 개념을 익히고 구현을 통해 학습할 수 있도록 구성한 DDD 입문서 www.hanbit.co.kr 도메인이란? ✅ 도메인 소프트웨어로 해결하고자 하는 문제 영역 도메인은 하위 도메인으로 나눌 수 있다. ex) 온라인 서점 도메인 -> 주문, 결제, 배송, ... 도메인 전문가와 개발자 간 지식 공유 ✅ 요구사항 개발에 앞서 요구사항을 올바르게 이해하는 것이 중요하다. ✅ 요구사항을 올바르게 이해하려면? 개발자와 도메인 전문가가 직접 대화해야 한다. 도메인 전문가, 관계자, 개발자가 같은 지식을 공유하고 직접 소통할수록 도메인 전문가가 원하는 제품을 만들 가능성이 ..