DomainDrivenDesign
文章平均质量分 69
iteye_3917
这个作者很懒,什么都没留下…
展开
-
让领域模型发挥作用
模型是一种简化。他是对现实世界的一种解释,并把与解决问题密切相关的方面抽象出来,而忽略无关的细节。 每个软件程序的目的都是为了执行某项活动,或是满足用户的某种需求。用户会把软件程序应用于某个主题区域,这个区域就是软件的领域。模型是用于解决信息超载问题的工具。模型是一种只是形式,他对知识进行有选择的简化和有目的的结构化。 领域模型并非一种特殊的图,特使图要表达的思想。他是经过严格组织...原创 2012-03-18 14:24:33 · 665 阅读 · 0 评论 -
语言的交流和使用
领域模型是软件项目的公共语言的核心。模型是人们头脑中形成的与项目有关的概念集合,他用术语和关系反映了领域的深层含义。这些术语和相互关系提供了模型语言的语义,模型语义是专门为领域量身剪裁的,而且十分精确,以便支持技术开发。它是一条至关重要的纽带,将模型与开发活动结和在一起,并使模型与代码紧密绑定。 在一个没有公共语言的项目上,开发人员不得不为领域专家做翻译。而这些领域专家还需要充当开发人...原创 2012-03-18 17:07:06 · 148 阅读 · 0 评论 -
解释性模型
模型在帮助领域学习方面也具有很大价值。对设计起到推动作用的模型是领域的一个视图,但为了学习领域,还可以引入其他视图,这些视图只用作传递一般领域知识的教学工具。出于此摸底,人们可以使用如软件设计无关的其他种类模型的那些图片或文字。 使用其他模型的一个特殊原因是范围。驱动软件开发过程的技术模型必须经过严格的精简,以便使用最小化的模型来实现其功能。而解释性模型则可以包含提供上下文的哪些领域方面,用...原创 2012-03-20 13:03:52 · 1396 阅读 · 0 评论 -
绑定模型和实现
模型种类繁多,目的各有不同,即使是那些金用于软件开发项目的模型也是如此。领域驱动设计要求模型不仅能够指导早期的分析工作,还应该成为设计的基础。这总设计方法对于代码的编写有着重要的暗示作用。比太明显的一点就是:领域驱动设计要求一种不同的建模方法...... 模式:MDD(Model-Driven Design) 那些压根没有领域模型的项目,仅仅通过编写代码来实现一个有一个功能,...原创 2012-03-23 12:00:18 · 430 阅读 · 0 评论 -
绑定模型和实现2
Hands-On Modeler 人们总是把软件开发比喻成制造业。通过这个比喻可以推断出一个结论:经验丰富的工程师做设计工作,而技能水平较低的劳动力负责组装产品。这种做法使许多项目陷入困境,原因很简单——在软件开发中设计是无处不在的。开发团队中的每个成员都有自己的职责,但是将分析、建模、设计和编程工作完全分离会对Model-Driven Design 产生不良影响。 作者经在...原创 2012-03-30 15:20:13 · 97 阅读 · 0 评论 -
模型驱动设计的构造块
为了保证软件实现的简洁并且与模型保持一致,不管实际情况如何复杂,必须运用建模和设计的最佳实践。 某些设计决策能够使模型和程序紧密结合在一起,互相提高对方的效率。这种结合要求我们注意每个元素的细节。对细节问题的精雕细刻能够打造出一个稳定的平台。 当项目遇到或大或小的困难时,开发人员可能会法向这些原则都无法适用与项目当前的状况。为了使领域驱动设计过程更灵活,开发人员需要理解上面这...原创 2012-03-30 15:49:49 · 123 阅读 · 0 评论 -
分离领域
在软件中,专门用于解决领域问题的那部分通常只占整个软件系统的很小一部分,这与其重要性远远不成比例。要想实现最佳的设计构思,旧的去研究模型中的元素并且将他满是为一个系统。绝对不能像在夜空中辨认星座一样,勉强把领域对象从许多对象中挑选出来。我们需要将领域对象与系统中的其他功能分离。这样就能够避免将领域概念和其他至于软件技术相关的概念想混淆。也不会把领域与整个软件系统混为一谈。 分离领域的复杂技术...原创 2012-04-23 16:55:47 · 149 阅读 · 0 评论 -
分离领域——将各层关联起来
将各层关联起来 到目前为止,我们的讨论主要一种在层次划分以及如何分层才能改进程序各个方面的设计上,特别是集中在领域层上。但是显然,各层之间也需要互相连接。在连接各层的同时不影响分离带来的好处,这是很多模式的目的所在。 各层之间是松散连接的,曾与层的依赖关系只能是单向的。山层可以直接使用或操作下层元素,方法是通过调用下层元素的公共接口,保持对下层元素的引用(至少是暂时的)以及采用常规...原创 2012-04-26 16:52:14 · 157 阅读 · 0 评论