随笔分类 - DDD
摘要:d啊给我们无法通过分析对象来理解系统的时候,就需要掌握一些操作和理解大模型的技术了。 3大主题:上下文,精炼,大型结构。 不通系统之前需要统一共识,我们需要用一种方式来标记出不同模型之间的边界和关系。 识别,沟通和选择模型边界及关系的技术。 boundContext(限界上下文)定义了每个模型的应用
阅读全文
摘要:柔性设计是对深层建模的补充。 早起的设计版本通常达不到柔性设计设计的要求。 可以通过以下几个模式帮助实现柔性设计: 1.intention-revealing interfaces 问题:如果开发人员为了使用一个组件而必须要去研究它的实现,那么就失去了封装的价值。 解决:因此,在命名类和操作时,要描
阅读全文
摘要:若开发人员识别出设计中隐含的某个概念或是讨论中受到启发而发现一个概念时,就会对领域模型和相应的代码进行许多转换,在模型中加入一个或多个对象或关系,从而将此概念显示表达出来。 调整新的对象职责,改变他们与其他对象的关系。 如何为不太明显的概念建模: 1.显示的约束: (1)计算约束所需的数据从定义上看
阅读全文
摘要:开发出实用的模型,需要注意以下3点: 1.复杂巧妙的领域模型是可以实现的,也是值得我们花费力气实现的。 2.这样的模型离开不断的重构是很难开发出来的,重构需要领域专家和热爱学习领域知识的开发人员密切参与进来。 3.要实现并有效地运用模型,需要精通设计技巧。 目标:迭代出深层模型。
阅读全文
摘要:面临的挑战: 1.在整个生命周期中维护完整性 2.防止模型陷入管理生命周期复杂性造成的困境当中。 聚合,对外暴露一个entity,却维护一组entity的一致性? 工厂,存储库? 在具有复杂关联的模型中,要想保证对象更改的一致性是很困难的。不仅互不关联的对象需要遵守一些固守规则,而且紧密关联的各族对
阅读全文
摘要:3种模型元素模式: ENTITY连续性,VALUE OBJECT属性,SERVICE动作或操作 关联: 3种可以使关联更易于控制的方法: 1.规定一个遍历方向 2.添加一个限定符,以便有效地减少多重关联 3.消除不必要的关联。 ENTITY模式: 一些对象主要不是由他们的属性定义的。他们实际上表示了
阅读全文
摘要:做到关注点分离--使设计中的每个部分都得到单独的关注。在分离的同时,也需要维持系统内部复杂的交互关系。 分离 LAYERED ARCHITECTURE的基本原则是层中的任何元素都仅依赖于本层的其他元素或者下层的元素。向上的通信必须通过间接的方式进行。 常见的分层方式: 1.用户界面层 2.用户应用层
阅读全文
摘要:强调 模型与核心实现/设计的绑定,避免完全脱离模型的实现,持续的更新模型确保其同时满足领域需求与实现。
阅读全文
摘要:将模型作为语言的支柱,确保团队在内部所有交流中以及代码中坚持使用这种语言。在画图,写东西,特别是讲话时也要使用这种语言。 讨论系统时要结合模型。使用模型元素及其交互来大声描述场景,并按照模型允许的方式将各种概念结合到一起,找到更简单的表达方式来讲出你要讲的话,然后将这些新的想法应用到图和代码中。
阅读全文
摘要:领域:软件的问题区域就是软件的领域 建模:并不是要尽可能饿建立一个符合现实的模型,而是出于某种目的概括地反映现实。 模型在领域驱动设计中的作用: 1.模型和设计的核心互相影响。 2.模型是团队所有成员使用的通用语言的中枢。 3.模型是浓缩的知识,记录了我们看待领域的方式。 软件的核心:为用户解决领域
阅读全文
摘要:理论前提 1.大多数软件项目中,主要的焦点应该是领域和领域逻辑 2.复杂的领域设计应该基于模型 一种思维方式,一组优先任务。 敏捷&极限编程:反对预先设计,投入更多的精力在促进沟通和提高项目快速应变能力,每次做最简单而管用的实现,通过不断地重构一步步作出小的设计改进。最终得到满足客户真正需求的设计。
阅读全文

浙公网安备 33010602011771号