Closed Coalery closed 2 months ago
이벤트를 나타내고 이를 이벤트 핸들러에 태우기 위해 이벤트 버스가 필요합니다.
이를 위해 @nestjs/cqrs 라이브러리의 AggreegateRoot와 EventPublisher를 사용할 수 있습니다.
AggreegateRoot
EventPublisher
매퍼에서 EventPublisher#mergeObjectContext 사용해서 도메인 내려주고, 커밋은 abstract repository 만들어서 그 안에서 하면 될 거 같습니다.
EventPublisher#mergeObjectContext
참고: https://docs.nestjs.com/recipes/cqrs
설계가 변경되어, 이벤트를 사용하지 않도록 방향을 잡았습니다.
이벤트 자체가 뒷단 rxjs에 의해 비동기적으로 일어나다보니 관리하기 어렵고, 트랜잭션을 별도로 관리해주어야 하여 예상하지 못하는 사이드 이펙트가 발생할 수 있어, 이벤트를 사용하지 않는 방향으로 나아갈 예정입니다.
이벤트를 나타내고 이를 이벤트 핸들러에 태우기 위해 이벤트 버스가 필요합니다.
이를 위해 @nestjs/cqrs 라이브러리의
AggreegateRoot
와EventPublisher
를 사용할 수 있습니다.매퍼에서
EventPublisher#mergeObjectContext
사용해서 도메인 내려주고, 커밋은 abstract repository 만들어서 그 안에서 하면 될 거 같습니다.참고: https://docs.nestjs.com/recipes/cqrs