Spring과 진짜 초면인 우리
DDD를 '도메인..주도...설계..?' 로만 알고 있던 나..였던 것...인 것...
DDD 설계!
많이 들어 본 것 ... 같으면서도 참 .. 내꺼인 듯 내꺼 아닌 내꺼 같은 너

그래서 열심히 알아보았어요.. 어려워...
DDD 설계란 ?
DDD는 도메인의 깊은 이해를 바탕으로 만들어진 도메인 모델을 중심으로 소프트웨어를 개발, 설계하는 접근법
도메인 지식을 중앙화하고, 도메인을 구체화하며 도메인 모델 간의 경계를 분명히 할 수 있다는 것이 매력적이라고 하네요!
(출처 : https://tech.kakao.com/2022/12/12/ddd-of-recommender-team/ )
도메인 모델이 시스템 전반에 걸쳐 사용되도록 하니깐,
도메인 전문가와 개발자 간의 의사소통을 원할하게 만들 수 있겠네요~!
+ 보편적인 언어를 사용하여 도메인 모델을 설명하고 코드를 구현하는 부분도 보탬!
핵심? 정리!
- 복잡한 비즈니스 로직을 도메인 모델 안에 캡슐화하여, 코드를 더욱 간결하고 이해하기 쉽게 만든다
- 구현과 도메인 모델링을 분리하여 유연성과 확장성을 높인다
SQL 중심 설계도 빼놓을 수 없으니 함께 알아보았어요!
SQL 중심 설계란 ?
SQL 중심 설계는 데이터베이스 스키마를 중심으로 한 설계 방법론
데이터베이스를 중심으로 시스템을 설계하며 비즈니스 로직은 코드 외부에서 처리되므로,
데이터베이스에 대한 질의와 처리가 중요하다고 합니다!
쉽게 SQL 질의를 작성할 수 있어 데이터를 처리하고 분석하는데 효과적이며, 데이터베이스를 확장하기 쉬움
인덱스 및 쿼리 최적화를 통해 높은 성능 제공이 가능하고, SQL은 표준 언어이기 때문에 이식성이 좋다는 장점도 있지만,
데이터베이스 스키마를 변경하면 코드 수정이 필요할 수 있고,
테이터베이스 설계가 잘못되면 데이터의 중복성이 증가, 데이터 무결성이 깨질 수 있다는 아주 무서운 점도 보이네요
3줄 요약)
- DDD 설계
- 개념: 도메인 모델링을 중심으로 비즈니스 로직을 캡슐화하여 코드를 간결하고 이해하기 쉽게 만드는 설계 방법
- 특징: 구현과 도메인 모델링을 분리하여 유연성과 확장성을 높이고, 비즈니스 로직의 일관성과 도메인 전문가와의 의사소통을 강조함
- 차이점: 데이터베이스 스키마를 중심으로 하지 않으며, 비즈니스 로직을 코드 외부에서 처리하지 않음
- DDD 설계
- 개념: 데이터베이스 스키마를 중심으로 설계하는 방법
- 특징: 데이터 중심 설계가 가능하며, 데이터를 처리하고 분석하는 데 효과적임
- 차이점: 도메인 모델링을 중심으로 하지 않으며, 비즈니스 로직을 코드 외부에서 처리함
다음 글에서는 DDD 설계에서 빼놓을 수 없는 삼총사 Entity vs DTO vs VO 를 알아보자구요~!

'Spring과 진짜 초면인 우리들에게' 카테고리의 다른 글
| DDD설계의 🌷(꽃), 스프링의 3(🌷🌷🌷)대장 (0) | 2023.04.07 |
|---|---|
| DDD 설계에서 빼놓을 수 없는 삼총사! Entity & DTO & VO (0) | 2023.04.05 |
| 23년 4월 4일, 봄과 함께 스프링의 서막도 열리다! (0) | 2023.04.04 |
| 자주 사용하는 웹사이트는 어떤 기능을 갖고 있지? (0) | 2023.04.03 |
| @Override 넌 왜 필요하니? (오버로딩 아님 주의!) (0) | 2023.03.29 |