Mapper, Factory

Mapper

주로 application 계층 내의 OrderCommandHandler, OrderCreateHelpler, OrderSagaHelper 와 같은 Proxy 역할을 하는 객체가 dataaccess 계층 내의 OrderJpaRepository 에 전달할 Entity 객체를 생성하는 데에 사용되는 객체입니다.


e.g.

// ...

@Service
class OrderCreateHelperImpl(
    val orderJpaRepository: OrderJpaRepository,
    val orderDataMapper: OrderDataMapper,
    val orderDomainService: OrderDomainService,
    val orderCommandMapper: OrderCommandMapper,
) : OrderCreateHelper {
    override fun createOrder(createOrderCommand: CreateOrderCommand) : OrderCreatedEvent {
        val orderDto = orderCommandMapper.toOrderDto(createOrderCommand)
        val orderEntity: OrderEntity = orderDataMapper.toOrderEntity(orderDto)
        val saved = orderJpaRepository.save(orderEntity)
        return orderDomainService.insertToOutbox(orderDto, EventType.ORDER_CREATED)
    }
}


Factory