🐢
과제5) DDD와 SQL 중심 설계
August 03, 2023
오늘의 과제는 도메인 주도 설계와 SQL 중심 설계에 대해서 공부하고 비교해보는 것!
DDD(Domain-Driven Design)
개념
도메인
소프트웨어로 해결하고자하는 문제의 영역
도메인 모델
- 특정 도메인을 개념적으로 표현한 것
- 도메인 모델을 사용하면 동일한 모습으로 도메인을 이해하고, 지식을 공유하는데 도움이 된다.
도메인 주도 설계
- 도메인 패턴을 중심에 놓고 설계하는 방식
특징
- 데이터 중심의 접근법이 아니라 도메인의 모델과 로직에 집중한다.
- 보편적인 언어를 사용한다.
- 분석 모델과 설계, 코드가 모두 다른 구조가 아닌 도메인 모델부터 코드까지 항상 움직이는 구조의 모델을 지향한다.
SQL 중심 설계
정의
- 데이터베이스의 설계에서 시작되는 소프트웨어 개발 방법론중 하나
특징
- 데이터베이스 구조와 데이터 흐름을 중심으로 시스템을 설계하고 개발 프로세스를 진행한다.
차이점
DDD 설계 | SQL 중심 설계 |
---|---|
도메인 중심 설계 | 데이터베이스 중심 설계 |
도메인의 문제 영역을 중심으로 설계 | 데이터베이스 구조와 데이터의 흐름을 중심으로 설계 |
도메인 모델을 통해 도메인 일관성 유지 | 데이터베이스 정규화를 통해 데이터 일관성 유지 |
도메인 모델을 통해 비즈니스 로직 처리 | 데이터베이스 쿼리를 통해 데이터 처리 |
도메인 모델이 변경되더라도 시스템의 일부분만 변경 | 데이터베이스 구조가 변경되면 시스템 전체에 영향 |
하루만에 파악할 수 있는 개념이 아니기 때문에 간단하게 정리했다😏 내가 접해본 방식은 SQL 중심 설계이기 때문에 기회가 된다면 도메인 주도 설계를 접해보고 깊에 알아가봐야지!