일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링부트
- 코테공부
- 카프카
- 코테준비
- querydsl
- DDD
- 플러터 공부
- nestjs공부
- 자바공부
- 스프링
- 기술면접공부
- JPA예제
- 기술공부
- JPA
- JPA공부
- 스프링부트공부
- 스프링 공부
- 플러터 개발
- 알고리즘공부
- K8S
- Kafka
- JPA스터디
- Flutter
- 스프링공부
- 프로그래머스
- 자료구조공부
- nestjs
- JPA 공부
- Axon framework
- nestjs스터디
- Today
- Total
목록DDD모델링 (3)
DevBoi
정책은 특정 이벤트가 발생됬을때 발생되어야 하는 커맨드의 기준이다. 무튼 정의 하면 아래와 같다. 도서가 대여되면, 사용자 포인트가 적립되는 걸 정책으로 연결해줄 수 있다. 도서가 대여되면 포인트가 적립된다 또한 도서의 상태가 동시에 변경이 된다. 그래서 뭐 이렇게 표현할 수 있다. 정리는 안했다 귀찮다 솔직히 나혼자 이런거 하는건,,,,그냥 알고만 있으면 되서 회사에서 시키면 정리하고 혼자서할때는 대충 하는 방법이나 테스트만해보도록하자....정리는...어려워..... 뭐 무튼 이런식으로 연체되면~ 대출되면~ 이런 정책들을 만들어서 표현하고 관리하면 된다. 개발자가...하는게 맞는거....지? 사실 잘모르겠다....ㅋㅋ 뭐 키클락이나 요즘은 여러 시스템을 외부에서 많이 도움을 받는다. 공통으로 써야한다고..
크게 상태가 있거나, 없는 상태로 만들수 있다. Stateless,Stateful 이 두가지 방식으로 개발을 할 수 있다. 아래의 과정을 한번 보자 주문접수자는 주문목록을 가지고 있고, 바리스타는 주문접수자가 넘겨준, 제작 목록에 남겨서 커피를 만들어서 별개의 병행으로 작업을 하고 이벤트로 진동벨에 전달을 한다. 이벤트 생성, 이벤트 대응하는 모듈을 분리하고 상호 독립적으로 동작하여, 병령처리를 촉진한다. 발신자,수신자를 장소와 시간에서 쉽게 분리가 가능하다. 또한 각 모듈간의 필요에 의해 스케일 아웃 등의 확장에용이하고 동기,비동기가 선택이 가능하다. 비동기로 선택했을때 관련 문제들이 발생할 수 있다. - 네트워크 장애, 중요한 순간 서버 장애, 이벤트 순서가 꼬임, 이벤트 중복 등 - 데이터 소실 처..
Aggregate 패턴은 도메인 모델 패턴이라는 거대한 개념에서, 좀더 세분화 된 모델링을 할 수 있다. 거대한 도메인 모델 패턴에서 적당히 쪼개야 하는데 Aggreagte개념으로 좀더 세분하게 쪼개는 것이다. 도메인 모델은 행위 + 자료구조를 통해 비지니스 로직을 구현한다. 도메인 모델은 POJO로 구성한다. Aggreate가 뭘까? 서비스에서는 행위를 기준으로 도메인을 호출하는데 이를 서비스 단위로 Aggregate단위로 묶는것이다. 몇가지 타입을 공통으로 모델링을 해서 사용하라고 가이드를 한다. Value object 란 뭘까? DTO와 비슷해 보이지만, DDD에서는 해당 valueobject는 DTO와 다르다. 개념적으로 완전한 하나를 표현하고, 고유의 식별자를 가지지않는다. 저 3가지 중에 Co..