DDD理论学习系列(13)-- 模块】的更多相关文章

DDD理论学习系列--案例及目录 1. 引言 Module,即模块,是指提供特定功能的相对独立的单元.提到模块,你肯定就会想到模块化设计思想,也就是功能的分解和组合.对于简单问题,可以直接构建单一模块的程序.而对于复杂问题,则可以先创建若干个较小的模块,然后将它们组装.链接在一起,从而构成复杂的软件系统. 在DDD中,模块的用途也是如此,通过分解领域模型为不同的模块,以降低领域模型的复杂性,提高领域模型的可读性. 2. DDD中的模块 模块是一个笼统的概念,比较宽泛,为了正确发挥模块的威力,理解…
目录 DDD理论学习系列(1)-- 通用语言 DDD理论学习系列(2)-- 领域 DDD理论学习系列(3)-- 限界上下文 DDD理论学习系列(4)-- 领域模型 DDD理论学习系列(5)-- 统一建模语言 DDD理论学习系列(6)-- 实体 DDD理论学习系列(7)-- 值对象 DDD理论学习系列(8)-- 应用服务&领域服务 DDD理论学习系列(9)-- 领域事件 DDD理论学习系列(10)-- 聚合 DDD理论学习系列(11)-- 工厂 上下文映射图 战略设计与战术设计 实体 值对象 领域…
DDD理论学习系列目录 1. 引言 领域一词,主要有以下两个意思: 一国主权所达之地. 学术思想或社会活动的范围. 不管是指国家的主权范围也好还是学术活动范围,都是在讲一个范围,一个界限. 比如我们常说的,学术领域.思想领域.技术领域.语言领域.物理领域.医学领域.游戏领域.JAVA领域..NET领域等等,它们中不管是泛指还是特指某个领域,都是限定在某个范围之内的. 由此可见领域一词重在范围的界限. 下面我们就回归正传,DDD,Domain Drive Design,全称,领域驱动设计.那这个领…
DDD理论学习系列目录 1.引言 我们还是先来拆词理解,领域模型可以拆为"领域"和"模型"二词. 领域:按照我们之前的文章的理解,DDD中的领域是指软件系统要解决的问题,如我们的办公设备公众号在线商城就是为了解决电商问题,对应的就是电商领域. 模型:百度百科解释为对于某个实际问题或客观事物.规律进行抽象后的一种形式化表达方式.如户型图就是实际房屋结构的模型. 把两个词结合起来,我们给领域模型下个定义:领域模型是对我们软件系统中要解决问题的抽象表达. 这个理解还是很生…
DDD理论学习系列--案例及目录 1.引言 上一节讲解了领域模型,领域模型主要是将业务中涉及到的概念以面向对象的思想进行抽象,抽象出实体对象,确定实体所对应的方法和属性,以及实体之间的关系.然后将这些实体和实体之间的关系以某种形式(比如UML.图形.代码.文字描述等)展现出来.而领域模型是领域建模的结果,那如何建模呢?我们可以借助于UML. 我们知道UML(统一建模语言)是一种用于绘制软件概念图的图形符号.在和他人交流以及帮助解决设计问题方法,图示是最有效的.在DDD中我们习惯用UML进行领域建…
DDD理论学习系列--案例及目录 1.引言 实体对应的英语单词为Entity.提到实体,你可能立马就想到了代码中定义的实体类.在使用一些ORM框架时,比如Entity Framework,实体作为直接反映数据库表结构的对象,就更尤为重要.特别是当我们使用EF Code First时,我们首先要做的就是实体类的设计.在DDD中,实体作为领域建模的工具之一,也是十分重要的概念. 但DDD中的实体和我们以往开发中定义的实体是同一个概念吗? 不完全是.在以往未实施DDD的项目中,我们习惯于将关注点放在数…
DDD理论学习系列--案例及目录 1.引言 提到值对象,我们可能立马就想到值类型和引用类型.而在C#中,值类型的代表是strut和enum,引用类型的代表是class.interface.delegate等.值类型和引用类型的区别,大家肯定都知道,值类型分配在栈上,引用类型分配在堆上. 那是不是值类型对应的就是值对象,引用类型对应的就是实体吗?很抱歉,不是的. 值对象我们要分开来看,其包含两个词:值和对象.值是什么?比如,数字(1.2.3.14),字符串("hello world".&…
DDD理论学习系列--案例及目录 1. 引言 单从字面理解,不管是领域服务还是应用服务,都是服务.而什么是服务?从SOA到微服务,它们所描述的服务都是一个宽泛的概念,我们可以理解为服务是行为的抽象.从前缀来看,根据DDD的经典分层架构,它们又隶属于不同的层,应用服务属于应用层,领域服务属于领域层. 应用层(Application):负责展现层与领域层之间的协调,协调业务对象来执行特定的应用程序任务.它不包含业务逻辑. 领域层(Domain):负责表达业务概念,业务状态信息以及业务规则,是业务软件…
DDD理论学习系列--案例及目录 1. 引言 A domain event is a full-fledged part of the domain model, a representation of something that happened in the domain. Ignore irrelevant domain activity while making explicit the events that the domain experts want to track or b…
DDD理论学习系列--案例及目录 1.引言 聚合,最初是UML类图中的概念,表示一种强的关联关系,是一种整体与部分的关系,且部分能够离开整体而独立存在,如车和轮胎. 在DDD中,聚合也可以用来表示整体与部分的关系,但不再强调部分与整体的独立性.聚合是将相关联的领域对象进行显示分组,来表达整体的概念(也可以是单一的领域对象).比如将表示订单与订单项的领域对象进行组合,来表达领域中订单这个整体概念. 我们知道,领域模型是由一系列反映问题域概念的领域对象(实体和值对像)组成,聚合正是应用在领域对象之上…