《2019年领域驱动设计中国峰会:论聚合持久化.pdf》由会员分享,可在线阅读,更多相关《2019年领域驱动设计中国峰会:论聚合持久化.pdf(10页珍藏版)》请在三个皮匠报告上搜索。
1、?持久化在分层架构中的演进户界层业务逻辑层数据访问层数据库户界层应层领域层基础设施层经典三层架构DDD分层架构以聚合为单元进持久化?(Aggregate)?(Root)?(?Boundary)?Eric?Evanspublic interface OrderRepository public Order findById(String id);public void save(Order order);public void remove(Order order);个典型的资源库(Repository)接定义问题?问题NoSQL?Aggregate-PersistenceOrderReposi
2、toryServiceOrderfindByIdOrderorder.pay()OrderOrdersave回归问题本源OrderRepositoryServicefindByIdorder.pay()saveAggregateOrderSnapshotAggregateOrderSnapshotAggregateOrderSnapshotAggregateOrderSnapshotAggregate-Persistence回归问题本源public interface OrderRepository Aggregate findById(String orderId);void save(Ag
3、gregate orderAggregate);void remove(Aggregate orderAggregate);public class OrderService public void checkout(String orderId,CheckoutRequest request)Aggregate aggregate=orderRepository.findById(orderId);Order order=aggregate.getRoot();Payment payment=new Payment(request.getAmount();order.checkout(payment);orderRepository.save(aggregate);Aggregate-Persistence示例代码?Version?Aggregate?Order?OrderItem?/?Aggregate-PersistenceTHANK YOU