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)
}
}