DDD 2

DDD에서 팩토리(Factory)를 왜 사용하는거죠?

도메인 주도 설계(DDD, Domain-Driven Design)를 공부하다 보면 "팩토리"라는 개념을 만나게 됩니다. 팩토리는 단순히 객체를 생성하는 역할을 넘어, 객체 생성 과정에서 발생하는 복잡성을 캡슐화하여 코드의 응집도를 낮추고 가독성을 높이는 설계 도구입니다. 이번 글에서는 제가 이해한 DDD에서 팩토리가 왜 필요한지, 언제 사용해야 하는지, 그리고  실제 예제를 통해 이해하기 쉽게 설명드리겠습니다.1. 팩토리는 무엇인가요?팩토리는 DDD에서 복잡한 객체 생성을 담당하는 클래스나 메서드를 의미합니다. 단순한 객체 생성은 생성자(Constructor)로 충분할 수 있지만, 다음과 같은 상황에서는 팩토리를 사용하는 것이 더 적합합니다:객체 생성 과정이 복잡하거나 외부 데이터를 참조해야 할 때생성 ..

궁금증 2024.12.15

TDD vs DDD: 개발을 바라보는 두 가지 시선

프로젝트를 진행하면서 TDD(Test-Driven Development)와 DDD(Domain-Driven Design)에 대해 궁금증이 생겨 스스로 공부한 내용을 공유하고자 합니다. 이 글에서는 TDD와 DDD의 정의와 차이를 설명하고, 실제 프로젝트에서 사용할 수 있는 CRUD 코드 예시를 통해 각 방법론의 적용 방식을 소개하겠습니다. 또한, 어제 TDD를 지향하는 개발자분과 나눈 이야기를 바탕으로 TDD를 실제 어떤식으로 적용하는지도 다뤄보겠습니다.1. TDD란 무엇인가?TDD는 "테스트를 먼저 작성하고, 이를 통과시키기 위해 코드를 작성하는" 개발 방법론입니다. 코드의 안정성과 신뢰성을 높이고, 리팩토링 과정에서도 기존 기능이 정상적으로 동작하는지 확인할 수 있다는 장점이 있습니다.TDD의 세 가..

궁금증 2024.12.15