반응형 DDD5 도메인 주도 개발(Domain-Driven Development) 모델과 모델링 도메인 주도 개발(DDD)도메인 주도 개발은 복잡한 비즈니스 요구사항을 해결하기 위해 도메인(문제가 발생하는 비지니스 영역)을 중심으로 소프트웨어를 설계하는 방법론이다. 보다 자세한 내용은 아래의 링크를 참고하자. 도메인 주도 설계란 무엇인가?(Domain Driven Design Quickly)를 읽고서도메인 주도 설계란 무엇인가?최근에서야 DDD, 즉 도메인 주도 설계라는 개념이 있다는 것을 알게 되었다. 아직 객체 지향 설계도 제대로 못 다루는데 도메인 주도 설계에 대해서 공부하는 게 맞jettstream.tistory.com도메인 주도 개발의 주요 구성 요소엔티티(Entity) : 고유한 식별자를 가지며 상태가 변하는 객체값 객체(Value Object) : 고유 식별자가 없으며 값으로만 구성된.. 2024. 11. 20. DTO란? DTO에 대해서 알아보자 DTO(Data Transfer Object)DTO는 개발자 커뮤니티나 개발자 논의에서 항상 나오는 용어이다. 하지만 개발자들끼리도 DTO에 대한 이해가 조금씩 다르다. 이번 기회에 DTO에 대해서 정리해 보도록 하자. DTO의 정의유명 개발자들의 글에서도 DTO가 같은 의미로 사용된 것인지 아닌지 헷갈릴 때가 있다. 중요한 것은 자신만의 명확한 정의가 있고 이를 설명할 수 있어야 한다는 것이다. 아래 글을 꼭 읽어보도록 하자! Data Transfer ObjectAn object that carries data between processes in order to reduce the number of method calls.martinfowler.comAn object that carries data .. 2024. 9. 11. 도메인 주도 개발(Domain Driven Development) - DAO, DTO, VO에 대해서 DAO (Data Access Objcet) 데이터베이스의 data에 접근하기 위한 객체. 로직 & 비즈니스 로직을 분리하기 위해 사용한다. DTO (Data Transfer Object) 계층(Layer) 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체이다. (getter & setter 만을 가진 클래스) 유저가 입력한 데이터를 DB에 넣는 과정 유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어서 전송 해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 집어 넣음 Controller, Service, DAO는 객체를 주고받는다. 여기서 주고받는 객체가 DTO이다. VO (Value Object) 값 오브젝.. 2023. 7. 18. 이벤트 소싱 패턴(Event Sourcing Pattern)에 대해서 데이터의 현재 상태만 저장하는 대신 추가 전용 저장소를 사용하여 해당 데이터에 수행된 전체 작업을 기록합니다. 이렇게 하면 데이터 모델과 비즈니스 도메인을 동기화할 필요가 없고 성능, 확장성 및 응답성이 향상되므로 복잡한 태스크를 간소화할 수 있습니다. 또한 트랜잭션 데이터에 일관성을 제공하고 보정 작업에 사용할 수 있는 전체 감사 추적 및 기록을 유지할 수 있습니다. 기존 CRUD를 이용한 접근 방법 대부분의 응용 프로그램은 데이터로 작업하며, 일반적인 방법은 사용자가 작업할 때 데이터를 업데이트하여 데이터의 현재 상태를 유지 관리하는 것입니다. 예를 들어 기존의 CRUD(Create, Read, Update, Delete) 모델에서 일반적인 데이터 프로세스는 저장소에서 데이터를 읽고 일부 수정한 다음.. 2023. 3. 30. 도메인 주도 설계란 무엇인가?(Domain Driven Design Quickly)를 읽고서 도메인 주도 설계란 무엇인가?최근에서야 DDD, 즉 도메인 주도 설계라는 개념이 있다는 것을 알게 되었다. 아직 객체 지향 설계도 제대로 못 다루는데 도메인 주도 설계에 대해서 공부하는 게 맞는 건가라는 생각이 들지만 보통 지금까지의 공부했던 방식을 생각해 보면 이해하지 못했더라도 다른 걸 공부하다 보면 결국에는 공통된 부분이 언급되고 그거에 대해서 학습하다 보면 갑자기 이해가 되는 경우가 있다는 걸 알기에 오늘도 묵묵히 학습을 정리해 본다. (해당 책은 회사 팀장님이 빌려주셨다. 간단하게 도메인 주도 설계에 대해서 알고 가라고 빌려주신 거 같은데 생각보다는 잘 읽히지 않았다.) 소프트웨어는 현실 세계의 프로세스를 자동화하거나 비즈니스 문제를 해결하기 위해 개발된다.자동화된 비즈니스 프로세스나 현실 .. 2023. 1. 7. 이전 1 다음