L2R将机器学习的技术很好的应用到了排序中,并提出了一些新的理论和算法,不仅有效地解决了排序的问题,其中一些算法(比如LambdaRank)的思想非常新颖,可以在其他领域中进...
L2R将机器学习的技术很好的应用到了排序中,并提出了一些新的理论和算法,不仅有效地解决了排序的问题,其中一些算法(比如LambdaRank)的思想非常新颖,可以在其他领域中进...
定义 聚合与事件源,称为A+ES,是通过事件来表示一个聚合的完整状态,这里的事件是自聚合创建以来的一系列变更事件。通过按照产生时的顺序重放这些事件,我们可以重建聚合的状态。 ...
应用程序定义 “应用程序”表示那些支撑核心域模型的组件,通常包括领域模型本身,用户界面,内部使用的应用服务和基础设施组件等 这是书中的定义,理解起来跟通常意义的“应用程序”也...
概念 领域模型是以限界上下文为边界的,集成限界上下文是跨上下文的,所以领域模型不是重点,本章更多是技术实现的指导。 如前面章节所述,一个限界上下文很多时候就是一个代码工程,对...
资源库 资源库类比熟悉的DAO,简单理解就是一个持久化机制。 通常我们将聚合实例存放在资源库中,之后再通过该资源库来获取相同。如果你修改了某个聚合,那么这种改变将被资源库所持...
“工厂应该提供一个创建对象的接口,该接口封装了所有创建对象的复杂操作过程,同时,它并不需要客户去引用那个实际被创建的对象” 其实这个作用跟设计模式的工厂模式是一样的,都是封装...
最难理解的模式 将实体和值对像在一致性边界之内组成聚合。所以理解聚合的关键的一致性边界,可以直接理解为RDB的事务一致性,即一个关联关系在各种操作中,无论成功与失败,都能保证...
定义 模块也是一种DDD模型,跟实体、值对像、领域服务和领域事件一样,所以模块也应该是通用语言的表达,最重要就是体现其组织层次和命名,都是体现业务的,体现通用语言的 “在DD...
定义 将领域中所发生的活动建模成一系列的离散事件。每个事件都用领域对象来表示。领域事件是领域模型的组成部分,表示领域中所发生的事情。 要点:“领域事件是领域模型的组成部分”,...
领域服务定义 先看看领域服务的定义:领域中的服务表示一个无状态的操作,它用于实现特定于某个领域的任务。当某个操作不适合放在聚合(实体)或值对像上时,最好的方式便是使用领域服务...
值对像和实体是两种领域对象,也是最重要的领域模型,跟实体相比,值对像没有唯一标识,由对象的属性值一起来标定一个对象实例。书中说“我们应该尽量使用值对像来建模而不是实体对象”,...
唯一标识 实体是重要的领域模型,实体是具有唯一标识的领域模型,跟值对像相对而言。比如两个人可以有很多属性是一样的,比如性别、名字、生日以及穿同样的衣服,但能说两者是同样的实体...
六边形架构 DDD关键点是关注业务架构,而不是技术架构,所以这一章开头一句就是“它并不需要使用特定的架构。由于核心域位于限界上下文中,我们可以在整个系统中使用多种风格的架构。...
上下文映射图就是表示两个或多个限界上下文之间的映射关系。 一般用框图表示,不同的限界上下文在解决方案空间中是如何通过集成相互关联的。 两个上下文之间有什么关系呢? 合作关系(...
领域(domain),广义的领域即是一个组织所做的事情以及其中所包含的一起。每个组织都有自己的业务范围和做事方式,这个业务范围以及在其中所进行的活动便是领域。 对应软件设计来...