- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
链接-UMLChina
领域驱动建模(Evans DDD) 彭晨阳 欢迎联系企业培训 Evans DDD 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计 )简称Evans DDD 领域建模是一种艺术的技术,它是用来解决复杂软件快速应付变化的解决之道 Evans DDD 领域模型重要性 没有领域模型,只是靠代码编写完成一个又一个功能,复杂的领域需求会使得他们无法交流讨论,使工作陷入泥沼。 有少许领域模型,但是没有维护好模型与代码直接的联系,两者产生差异,无法实现。 DDD优点 分析设计发展的三个阶段 第一阶段:围绕数据库的驱动设计,新项目总是从设计数据库及其字段开始。 第二层次:面向对象的分析设计方法诞生后,有了专门的分析和设计阶段之分,分析阶段和设计阶段是断裂的。 第三阶段:融合了分析阶段和设计阶段的领域驱动设计(Evans: DDD)。 第一阶段:传统的数据库方式 过去软件系统分析设计总是从数据库开始,这种围绕数据库分析设计的缺点非常明显: 1.分析方面:不能迅速有效全面分析需求。 2. 设计方面:导致过程化设计编程,丧失了面向对象设计的优点。 2. 运行方面:导致软件运行时负载集中在数据库端,系统性能难于扩展,闲置了中间件J2EE服务器处理性能。 对象和关系数据库存在阻抗,本身是矛盾竞争的。 第二阶段:分析和设计分裂 第二阶段比第一阶段进步很多,开始采取面向对象的方法来分析设计需求。 分析人员的职责:是负责从需求领域中收集基本概念。面向需求。 设计人员的职责:必须指明一组能北项目中适应编程工具构造的组件,这些组件必须能够在目标环境中有效执行,并能够正确解决应用程序出现的问题 两个阶段目标不一致,导致分裂,项目失败。 新阶段:分析设计统一语言 统一领域模型,它同时满足分析原型和软件设计 ,如果一个模型实现时不实用,重新寻找新模型。 一个无处不在(ubiquitous )的语言,项目中所有人统一交流的语言。 减少沟通疑惑,减少传达走样。使得软件更加适合需求。 没有领域(边界)的模型 一个印在大纸张上的完整类图,整面墙都被它覆盖,花几个月分析开发的领域模型,模型大多数对象都与其中三四个对象有错综复杂的关系,且关系网几乎没有自然边界。分析人员是忠于领域需求本质。 问题:开发人员开始实现应用程序时,彼此纠缠的关系根本无法转换成可存储 可检索的实现。 是不是基于概念的模型类图不能成为程序设计的基础? 领域模型在软件架构中位置 什么是领域模型 Domain Model? 某个范围内的模型。首先是边界划分,在边界中寻找代表领域本质旋律的模型。 领域模型只表达需求真实世界模型,和软件架构技术无关。 模型都是有前提和范围,或者称为有场景前提的。没有跨越范围的永恒不变的模型 。 由领域专家来定义领域模型。 名词==类名 动词==类中方法 服务或其他 机器人 机器人的领域模型 确定核心领域 大型系统中,有很多有用的组件,他们非常复杂,都是软件成功不可或缺的,这样组件实在太多,以至于领域模型的精髓部分变得不明显甚至被忽视。 不可能所有部分都进行提炼,分清轻重缓急,让领域模型真正成为资产。 核心模型必须足够灵活和充分平衡来创建应用程序功能,不要倾向于使用技术基础结构如数据库来解决问题。 无需专业业务知识容易能理解能引起程序员的兴趣,他们认为只有解决这些问题才能积累自己专业知识,同时为自己简历增光添彩,这对于公司是浪费。 不注重核心领域的案例 银团贷款系统:大多数技术天才和技术高手都对数据库映射层和消息接口津津乐道,而业务模型却交给一些刚刚涉足面向对象技术的新手们打理。 尽管为持久领域对象提供详细注解文字说明,能够反映设计思路,也设计了友好的用户界面。 这些特性都是外围,当这个软件最终交付用户使用时,差劲程序员二次开发拓展时却依然搞得一塌糊涂,整个项目差点失败。 通用子域:非核心领域 提炼核心领域,就必须剔除反面通用子域。 不同行业运输业 银行业 制造业都需要某种形式组织结构图。组织结构图就是通用子域。 许多应用跟踪应收帐款 费用分类和其他帐务信息,这些信息都可以使用通用的会计财务系统来处理。 有两个项目处理带时区功能的日期和时间组件,花费最好的程序员数周时间,虽然必须做,但不是系统核心。 考虑现有解决方案或开源公开模型来替代通用子域。 考虑外包,将通用子域外包,自己掌握核心领域。 领域中寻找核心模型 找出核心模型,提供一种方法让我们很容易地从众多支持模型中将它区分出来,将最有价值 最体现专门知识的概念凸显出来,核心变小。 让最好的程序员来处理核心模型,根据需要调整人员的配备,尽力找出核心的深
您可能关注的文档
- 资金使用.ppt
- 资金申请报告.ppt
- 资产清查报表制度讲解.ppt.ppt
- 费用报销粘贴要求.ppt
- 赤道原则(中文稿)-中国企业社会责任监测和评价系统.doc
- 资料1-圣路加国际病院.ppt
- 财务报账员第二期培训学习资料.ppt-中山大学新华学院.ppt
- 超电容的技术进展及必威体育精装版应用一览.doc
- 起动系统故障检修.ppt
- 赏识教育系列课程、产品与服务项目.ppt
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 高同型半胱氨酸血症的诊断、治疗与预防专家共识.docx VIP
- 人教版高中英语必修第二册《UNIT 3 THE INTERNET》大单元整体教学设计.pdf
- 微型消防站工作职责(标准版).docx VIP
- 呼唤-快车上玩家地图1 plmap演示版.pdf
- 德邦零担业务诊断及新产品开发项目建议书-2014.pptx VIP
- 人教版高中英语必修第二册《UNIT 4 HISTORY AND TRADITIONS》大单元整体教学设计.docx
- 高同型半胱氨酸血症的诊断、治疗与预防.pptx VIP
- 附件2:汽车专访.pdf VIP
- 2024年食品安全生产经营大比武理论考试题库资料-下(多选、判断题汇总).pdf
- 快车上的恐怖旅行手册.pdf
文档评论(0)