《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