背景
在DDD代码实践过程出现一些看起来很别扭的实现
-
为了查询,领域聚合根无限扩大
如商品详情页聚合根
public class BrandAggr {
/**
* 唯一标识
*/
private Long id;
/**
* 商品简介
*/
private ItemInfoVal brandInfoVal;
/**
* 商品的渠道列表
*/
private List<ItemChannelVal> channels;
/**
* 商品的价格区间列表
*/
private List<ItemPricingVal> pricings;
/**
* 商品风格列表
*/
private List<ItemStyleVal> styles;
/**
* 商品促销列表
*/
private List<ItemPromotionVal> promotion;
/**
* 推荐列表
*/
private List<ItemRecommendVal> promotion;
- 组合领域对象是领域吗?如商品详情页,包含商品,促销,推荐,这这种场景下如何使用聚合根
一. 定义
CQRS(Command and Query Responsibility Segregation)是一种与传统的DDD实现不同的模式,将写与读区分开。CQRS适用于DDD的原因在于查询本身不应当影响领域建模
CQRS 主要包含两大概念,一个是读