# DDD

21개의 포스트

도메인 주도 설계(Domain-Driven Design)

SW 설계 기법의 하나복잡한 도메인의 설계는 모델 기준으로 해야 함데이터와 애플리케이션을 설계할 때 업무 도메인 별로 분리하여 설계시스템을 구현하기 위해 특정 기술이 아니라 도메인과 그 로직에 초점을 두어야 함시스템 요구를 기술하기 위해 도메인 전문가가 도메인 모델을

2020년 6월 13일
·
0개의 댓글
post-thumbnail

도메인 모델 기반 패키지 구조

주말 간 우연치 않게 다음 글을 읽었다.http://bitly.kr/omzxXo5z9나 또한 계속되는 if문과 중복되는 코드의 압박으로 이런저러한 방법을 찾다 결국은 도메인 모델링까지 도달하게 되었다.(아직 1도 모르지만)mybatis를 사용한 legacy 프

2020년 4월 27일
·
0개의 댓글
post-thumbnail

Python으로 클린 아키텍처 적용하기

Implementing the Clean Architecture in Python 을 읽고 정리한 글입니다. 저자가 실제 도메인 주도 설계(DDD), CQRS, Event Sourcing 등을 적용해보면서 겪은 경험을 풀어낸 책으로 실무에 적용 가능한 패턴을 소개합니다

2020년 4월 20일
·
0개의 댓글
post-thumbnail

처음 맡은 프로젝트 설계 : 어떻게 시작하지?

어느날 갑자기 회사에서 제품 설계를 나에게 지시한다면? 어느날 갑자기 팀 리더가 퇴사하면서 내가 프로젝트의 설계를 담당하게 됐다면? 이 글은 제가 설계를 담당하게 된 처음, 참고한 서적과 조언들에 대한 글입니다.

2020년 4월 17일
·
6개의 댓글
post-thumbnail

쿠팡 클론 코딩 - 도메인 모델링

아래의 책들을 읽고 도메인 모델링 및 설계에 관해 많은 생각과 관심을 갖게 되었다.도메인 주도 설계클린 소프트웨어위 두 책에서 학습한 내용들을 전체적으로 적용해보기 위해 복잡한 도메인 로직이 존재하는 서비스를 클론 코딩하기로 결정했고, 앞선 2번째 장에서 나열한 어플리

2020년 4월 16일
·
2개의 댓글
post-thumbnail

프로젝트 - 쿠팡 클론 코딩

아래는 최근에 관심있게 공부했던 것들이다.DDD (도메인 주도 설계)OOP & 디자인 패턴spring cloud MSAkotlin reactive programming나열한 것 중 위 2개는 방법론에 관한 것이고, 아래의 2개는 기술적인 것이라고 할 수 있을 것 같다.

2020년 4월 15일
·
2개의 댓글
post-thumbnail

practice - 공연 예약 / 등록 애플리케이션

나는 보통 언어나 프레임워크를 처음 학습한 후 전반적인 기능개발에 관한 실습을 해보기 위해서 '공연 예약/등록 어플리케이션'을 만들어보곤 한다. 그 이유는 이 어플리케이션을 만들기 위해서는 보편적인 CRUD 기능이 존재해야 하고 DB 스키마 설계를 어느정도 신경써야 하

2020년 3월 8일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 16. 대규모 구조

큰 시스템에 해당 시스템의 요소를 전체 설계에 걸친 패턴에서의 역할 측면에서 해석하게 할 수 있는 지배적인 원칙이 없다면 개발자들은 나무만 보고 숲을 보지 못한다. 우리는 전체의 세부사항을 깊이 파고들지 않고도 전체의 각 부분이 담당하는 역할을 이해할 수 있어야 한다

2020년 2월 26일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 15. 디스틸레이션

디스틸레이션(distilation)은 혼합된 요소를 분리해서 본질을 좀더 값지고 유용한 형태로 뽑아내는 과정이다. distilation이라는 단어의 사전적 의미처럼 도메인 모델은 여러 번의 증류 과정을 거쳐 중요한 부분과 중요하지 않은 부분을 명확히 구분할 수 있게 된

2020년 2월 26일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 14. 모델의 무결성 유지

도메인 모델은 단일화(unification)을 유지해야 한다. 단일화란 모델에서 사용하는 각 용어가 모호하지 않고 모순되는 규칙이 없는 일관성 있는 상태를 뜻한다. 모델의 단일화는 소프트웨어 개발 과정에서 여러 요인에 의해 흔들릴 수 있다. 대규모 시스템을 개발할 때는

2020년 2월 24일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 12. 모델과 디자인 패턴의 연결

지금껏 연구되어 왔던 수많은 디자인 패턴들은 기술적인 측면에 좀 더 초점을 맞춘다. 하지만 그 중 일부는 도메인에서 마주치는 의미 있는 개념에 사용할 수 있다. 이번 장에서는 개념적인 차원에서 도메인 주도 설계 과정에 적용할 수 있는 디자인 패턴을 소개한다.프로세스 모

2020년 2월 23일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 10. 유연한 설계

소프트웨어는 1차적으로 사용자를 위한 것이지만, 다른 의미에서 개발자를 위한 것이기도 하다. 개발이 진행될수록 현재의 레거시 코드로 인한 중압감에 시달리지 않고 프로젝트 진행을 촉진하려면 변경을 수용하고 즐겁게 작업할 수 있는 설계가 필요하다. 이것이 바로 유연한 설계

2020년 2월 23일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 09. 암시적인 개념을 명확하게

개발자들이 토의 중에 단서를 얻거나 설계상에 암시적으로 존재하는 개념을 인지하면 도메인 모델과 관련 코드를 대량으로 변환하게 되며, 그 후 하나 이상의 객체와 객체 간의 관계를 활용해 모델 내에 해당 개념을 명확하게 표현하게 된다.

2020년 2월 16일
·
1개의 댓글
post-thumbnail

도메인 주도 설계 - 08. 도약

심층 모델이란 도메인의 피상적인 측면은 배제하고 도메인 전문가의 주요 관심사와 가장 적절한 지식을 알기 쉽게 표현하는 모델이다...

2020년 2월 16일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 06. 도메인 객체의 생명주기

도메인 객체를 관리하면서 신경써야 하는 문제는 크게 아래 2가지이다. 도메인 객체의 생명주기 동안 무결성 유지하기 생명주기 관리의 복잡성으로 모델이 난해해지는 것을 방지하기 1번 문제를 해결하기 위한 방법으로 Aggregate 패턴을 알아볼 것이고, 2번 문제를 해결하기 위한 방법으로는 Repository와 Factory 패턴에 대해 알아볼 것이다. ...

2020년 2월 8일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 05. 소프트웨어에서 표현되는 모델

도메인 모델을 표현하는 세 가지 패턴(entity, value object, service)에 대해 알아본다. ENTITY 객체를 '식별성'에 의해 정의하는 경우, 이러한 객체를 entity라고 부른다. entity에는 모델링과 설계상의 특수한 고려사항이 포함돼 있다. entity는 생명주기동안 형태와 내용이 급격하게 바뀔 수도 있지만 핵심은 '연속성'을...

2020년 2월 8일
·
1개의 댓글
post-thumbnail

도메인 주도 설계 - 04. 도메인의 격리

LAYERED ARCHITECTURE 우리는 시스템에서 도메인과 관련이 적은 기능으로부터 도메인 객체를 분리할 필요가 있다. 도메인의 격리는 도메인 지식을 그와 상관이 없는 기술적인 부분과 혼동하거나, 애플리케이션에서 도메인 지식이 흐려지는 것을 방지할 수 있다. 얼마 전 공부했던 클린 아키텍쳐 또한 layered architecture의 일종으로 볼 수...

2020년 2월 8일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 03. 모델과 구현의 연계

model driven design 코드는 그것의 기반이 되는 모델과 긴밀하게 연결되어 있어야 하며, 그러한 코드는 의미를 갖게 된다. 분석을 위한 모델과 설계를 위한 모델 지나치게 이론적이고 분석만을 위한 모델은 실제 설계에 적용하기에 부적합할 것이고 설계만을 위한 모델은 지식 탐구 과정에서 얻은 지식들을 온전히 반영하지 못할 가능성이 높다. 모델 주...

2020년 2월 8일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 02. 의사소통과 언어 사용

ubiquitous language (보편 언어) 1장에서 다루었듯이 도메인 전문가와 개발자 간, 혹은 개발자와 개발자 간의 지식 탐구는 매우 중요하다. 그리고 이 지식탐구를 통해 풍부한 지식을 설계에 담아내기 위해서는 다양한 상황에서 사용할 수 있는 팀의 '공유 언어'가 필요하다. 그리고 이 언어는 그 가치에 대한 활발한 실험이 필요하다. 도메인 전문가...

2020년 2월 8일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 01. 지식 탐구

개발자와 도메인 전문가 소프트웨어 설계의 단계에서는 소프트웨어가 모델링할 실세계의 영역을 잘 알고 있는 '도메인 전문가'의 존재를 전제한다. 지식 탐구 설계의 전 단계에서 개발자와 도메인 전문가는 활발히 논의해야 한다. 개발자는 도메인 영역에 대해, 도메인 전문가는 기술적인 측면에 대해 서로가 모르거나 다르게 알고 있는 부분에 대해서 끊임없이 소통해야 하...

2020년 2월 8일
·
0개의 댓글