首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

DDD领域驱动设计实战-聚合(Aggregate)聚合根(AggregateRoot)

实体(Entity)值对象(ValueObject)组成聚合(Aggregate),再根据业务将多个聚合划定到同一限界上下文(Bounded Context),并在限界上下文内完成领域建模。...聚合的不变条件一致性边界究竟什么意思? 1 聚合 实体一般对应业务对象,具有业务属性业务行为 值对象主要是属性集合,描述实体的状态特征 但都只是个体化对象,其行为表现出的是个体能力。...聚合就是由业务逻辑紧密关联的实体值对象组合而成,聚合是数据修改持久化的基本单元,每个聚合对应一个仓储,实现数据的持久化。...即投保单客户聚合根 根据业务单一职责高内聚原则,找出与聚合根关联的所有紧密依赖的实体值对象。构建出 1 个包含聚合根(唯一)、多个实体值对象的对象集合,这个集合就是聚合。...即客户、投保聚合 在聚合内根据聚合根、实体值对象的依赖关系,画出对象的引用依赖模型。

1.5K30

使用group by rollupgroup by cube后的辅助函数

本文主要介绍,报表在使用group by rollupgroup by cube后的辅助函数。...by rollupgroup by cube后的结果集)中的空值。...结果集按照orderidproductid进行汇总之后,出现了很多的空值,具体原因参考哥前面的随笔 ,so,必须解决这个问题,因为null值对报表结果来说没什么用,我们大致都会用0,'空','NULL...根据结果集很容易的发现,group by grouping sets(orderid,productid)的结果集等于group by orderid group by productid的合集, 下面验证猜想...、Group by  Grouping sets解决的问题: 更加灵活的处理一些报表的统计工作,因为使用group by rollup group by cube都是固定格式的统计报表模式,当你给定三个需要分组统计的字段

1.7K70

MySQL - order by group by 优化初探

在name都是LiLei 的情况下 , order by age , position 结合索引树 ,ageposition用于排序 也是有序的,应该不会走using filesort 我们来看下执行计划...看看我们二级索引的建立的字段顺序 , 创建顺序为name,age,position,但是排序的时候ageposition颠倒位置了, 那排好序的特性肯定就无法满足了,那你让MySQL怎么走索引?...-+------+----------+-----------------------+ 1 row in set mysql> 走了dx_name_age_position 索引中的 name ...---- group by 优化 group by与order by类似,其实质是先排序后分组,遵照索引创建顺序的最左前缀法则。...对于group by的优化如果不需要排序的可以加上order by null禁止排序。 where高于having,能写在where中的限定条件就不要去having限定了。

1.4K30
领券