몰입하며 나아가는 개발이란

DDD 2

Entity, DTO, VO개념

Entity, DTO, VO Entity 란? Entity Class는 실제 DB테이블과 매핑되는 핵심 클래스로 DB테이블에 존재하는 컬럼들을 필드로 갖는 객체이다. 즉, DataBase Table과 1:1로 Mapping 되어지는 Class 이다. Entity Class는 상속을 받거나 Interface여서는 안되며 DataBase Table에 존재하지 않는 Column을 가져서도 안된다. 따라서 Persistent(영속성) 목적으로 사용되는 객체이므로 Request나 Response 값을 전달하는 객체로써 사용하는것은 옳지 못한 사용방법이다.(Setter 메서드는 최대한 배제하고 Constructor로 사용을 권장 한다.) @Entity @Table(name = "orders") @Getter @Se..

도메인 주도 설계란?(DDD)

도메인 주도 설계란?(DDD) Domain-Driven Design 도메인 주도 디자인이란 도메인이 중심이 되는 개발 방식을 말하며, 요구 사항을 모으는 것부터 low_level 디자인까지 소프트웨어 개발의 라이프사이클 전체를 포함하는 방법론 이라고 할 수 있습니다. DDD의 목적은 소프트웨어의 연관된 부분들을 연결하여 계속 해서 진화하는 모델을 만들어 나가 복잡한 어플리케이션을 쉽게 만들어 가는 것에 있습니다. 즉, Loose Coupling과 High Cohesion으로 보다 가벼운 설계로 소프트웨어의 위기와 커뮤니케이션 문제를 해결하기 위해 탄생하였습니다. DDD는 크게 Strategic Design과 Tactical Design으로 단계가 나뉘며, -Strategic Design에서는 Contex..