태그: Tactical Design
이 태그가 달린 모든 글 "Tactical Design".
-
[DDD Intro #17] Factory: 생성에도 도메인 지식이 있다
객체 생성은 종종 단순한 기술 문제처럼 여겨진다. 생성자를 호출하고, 필요한 값을 넣고, 필드를 채우면 끝이라고 생각하기 쉽다. 하지만 도메인 모델에서는 생성도 중요한 행위일 수 있다.
-
[DDD Intro #16] Domain Service: 객체에 억지로 넣기 어려운 도메인 로직
DDD를 공부하면 “도메인 로직은 도메인 객체 안에 있어야 한다”는 말을 자주 듣는다. 이 말은 중요하다. 도메인 규칙이 Application Service나 Controller에 흩어지면 모델은 빈약해진다.
-
[DDD Intro #14] Repository: DAO가 아니라 도메인 컬렉션처럼 다루기
DDD에서 Repository는 자주 오해되는 패턴이다. 많은 코드에서 Repository는 사실상 DAO처럼 사용된다. 데이터베이스에서 데이터를 조회하고, 특정 컬럼을 수정하고, 필요한 쿼리를 실행하는 객체가 Repository라는 이름을 갖는다.
-
[DDD Intro #12] Entity: 식별성과 생명주기를 가진 도메인 객체
Value Object는 값으로 식별된다. 10,000원은 10,000원이고, 같은 시작일과 종료일을 가진 기간은 같은 기간이다. 중요한 것은 그 값 자체다.
-
[DDD Intro #11] Value Object: 원시값이 아니라 도메인 개념으로 표현하기
DDD의 전술적 패턴을 떠올리면 많은 사람이 Entity부터 생각한다. 식별자, 생명주기, 상태 변화가 있는 객체는 분명 중요하다. 하지만 실제 코드에서 도메인 의미를 가장 작고 선명하게 드러내는 출발점은 Value Object일 때가 많다.