DDD - 概述 - (一)】的更多相关文章

最重要的一句话 DDD的所有有相关理论中,只有一句是至关重要的,但是也是最容易被忽略和最难做到的,抛弃传统的设计方式(思路)的思想,这句话起了决定性的作用,但是99%的人都忽略了或者在开始无法正视或理解. 为什么说这句话是最重要的一句话,因为他是设计真正转变的出发点. 基于具体的语义环境 首先,DDD的重点在于领域这个东西,领域的确定必须要基于一定的环境的,简单理解就是 必须同时具备主谓宾,比如:小明关爱小花:对于这句话的理解其实存在歧义,如果没有具体的语义环境下可能有以下两种理解方式: 1).…
首先,你必须知道以下DDD构建块: Entities - 实体 Value objects - 值对象 Aggregate roots - 聚合跟 Repositories - 仓储对象 Factories - 工厂 Services - 服务 1. 实体 一个实体是一个普通对象,有一个身份(ID)和可能是可变的.每个实体都由一个惟一标识ID而不是由一个属性;因此,如果他们两实体有相同的ID,两个实体可以被认为是相同的,即使他们有不同的属性.这意味着实体的状态随时可以改变,但只要两个实体具有相同…
本片将介绍以下内容: 1).DDD是什么? 2).怎么使用DDD? 3).使用DDD应该规避或者注意什么? 一.DDD是什么? 简言之:领域驱动设计(domain driven design),顾名思义,着重点在领域,这里的领域指的就是具体的业务领域,一个业务可以是一个领域或者多个子领域,每个领域中包含多个子域.具体的实现更偏重于具体的业务知识,而不是技术的细节,说白了技术无关性了. 2. 我们如何开始? 开始使用需要领域专的参与,需要领域专家对相应领域的业务分析,分析过程要注意 限界上下文:…
不要再看那些理论啦,说的云里雾里的,绕到你怀疑人生 一句话概括聚合创建:聚合的一致性决定了聚合边界的确定,决定了聚合对象的创建.所谓的一致性即事务的一致性,细化就是 立即性和原子性.…
DDD为什么能火起来? 我们先不讨论DDD的定义, 先梳理一下DDD火起来的背景, 根据我学习的套路, 永远是为什么为先,再是解决什么问题,是什么东西, 最后如何使用.我们都知道这些年随着设备以及技术的发展,软件架构发生了很多变化,从最初的单机(BS/CS)架构到后面的集中式架构,再到如今的微服务架构, 现在基本可以说是微服务架构盛行的时代, DDD早在2004年就由埃里克·埃文斯提出, 但一直处于一个不愠不火的状态,直到Martin Fowler的<Microservices>引起大家注意,…
群里经常看到类似于"看了DDD之后就不会写代码了"的情况,趁最近学车的间隙,写写我的看法. 关于这个事儿,我是觉得:当没有DDD的时候,如果你知道怎么做,那就那么做好了,不要考虑DDD. 当然不是说学了不用,而是在无法直接与实际做对应的情况下,先不要对应,慢慢来.这是一套方法论,而不是具体的方法,它更多的是给一个对当前系统复杂性手足无措的人一个思路.其中聚合那一部分只是个前提,并不是DDD的重要部分. 初做设计,学习DDD的时候,边看书可以边将内容与面向对象的各种设计原则.基本准则做对…
本系列文章 DDD实战进阶第一波(一):开发一般业务的大健康行业直销系统(概述) DDD实战进阶第一波(二):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架一) 近年来,关于如何开发基于业务的软件系统与产品一直是软件行业的一个重要内容.对于架构师与软件开发人员来说,开发此类系统头痛的问题大概是以下几个方面: 1.如何将需求准确的转为软件的设计? 2.系统的架构与代码如何有效的体现我们的设计? 3.如何将领域逻辑与技术分离? 4.如何能够让团队人员的开发能够专注与业务,而不是技术本身…
软件开发要干什么: 反映真实世界要自动化的业务流程 解决现实问题 领域Domain Domain特指软件关注的领域 在不能充分了解业务领域的情况下是不可能做出一个好的软件 领域建模 领域模型驱动设计 }  分层架构 }  实体 }  值对象 }  服务 }  模块 }  聚合 }  工厂 }  资源库 分层架构: }  将领域模型相关的代码集中到一个层中,把它从用户界面.应用和基础设施代码中分隔开来 }  释放领域对象的显示自己.保存自己.管理应用任务等职责,让它专注于展现领域模型 }  复杂的…
 如果我看得更远,那是因为我站在巨人的肩膀上.(If I have seen further it is by standing on ye shoulder of Giants.)                                                                                                                                                              …