领域模型(二)

摘要:
MODEL-DIVENDESIGN使用模型来解决应用程序的问题。团队沟通应统一在同一问题领域,以模型为语言核心;3.开发具有丰富知识的模型;4.优化模型。他们吸收这些领域知识并将其组织成有用的形式,即模型。答案:1。领域模型可以成为软件项目通用语言的核心。语言中的一些术语用于讨论模型中定义的规则,一些术语来自于强加给模型的高级组织原则。

前言

MODEL-DRIVEN DESIGN(模型驱动设计)利用模型来为应用程序解决问题。

团队成员通过UBIQUITOUS LANGUAGE(通用语言)交流进行知识消化,以便有效建模,而MODEL-DRIVEN DESIGN绑定模型与实现,以此为出发点做出的软件产品才能在完全理解核心领域的基础上提供丰富的功能。


有效建模的要素

1、绑定模型与实现。实现要反映模型的变化,实现不能脱离模型,凭空实现;

2、通用语言。团队沟通同一问题领域要统一语言,以模型为语言核心;

3、开发一个蕴含丰富知识的模型;

4、提炼模型。要选择性简化和有意结构化;

5、头脑风暴和试验。不断地对模型进行可行性测试;


什么是知识消化?

答:开发人员和领域专家等团队人员之间共同协作,共同收集领域相关信息,信息来源多种多样,有可能是书籍资料、电子文档、也有可能是人们的专业知识、经验等。他们通过消化吸收这些领域知识并将它组织为有用的形式,即模型。知识消化是一种探索,它永无止境。


什么是通用语言?

答:

1、领域模型可成为软件项目通用语言的核心。

2、UBIQUITOUS LANGUAGE的词汇包括类和主要操作的名称。语言中的术语,有些用来讨论模型中已经明确的规则,还有一些来自施加于模型上的高级组织原则(如CONTEXT MAP和大型结构等)。

3、通用语言的更改就是对模型的修改。

4、在敏捷过程中,需求是随着项目的前进而演变的,故用不断精化后的UBIQUITOUS LANGUAGE重新组织需求应该是项目演变过程中的一部分。

领域模型(二)第1张


什么是解释性模型?

答:与驱动设计模型(对象模型)相比,解释性模型具有一定的自由度,不一定是类图等对象模型,它可以用一种不同的方式来呈现领域,帮助团队成员更好、更直观的理解驱动设计模型。


MODEL-DRIVEN DESIGN

定义:Model-Driven Dsign(模型驱动设计)不再将分析模型与程序设计分离开,而是寻求一种能够满足这两方面需求的单一模型;

表现:不考虑技术问题,程序设计中的每个对象都反映了模型中所描述的概念。从模型中获取用于程序设计和职责分配的术语,让程序代码成为模型的表达,代码的修改可能会是模型的改变;

实现:完全依赖模型的实现通常需要支持建模范式的软件开发工具和语言,比如面向对象的编程;

结果:软件开发于是就成了一个不断精化模型、设计和代码的统一的迭代过程;


HANDS-ON MODELER(亲身实践的建模者)

四个必须

任何参与建模的技术人员,不管在项目中的主要职责是什么,都必须花时间了解代码。

任何负责修改代码的人员都必须学会用代码来表达模型。

每一个开发人员都必须不同程度地参与模型讨论并与领域专家保持联系。

参与不通工作的人都必须有意识的通过UBIQUITOUS LANGUAGE与接触代码的人及时的交换关于模型的想法。

免责声明:文章转载自《领域模型(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Notepad++设置为系统全局文本默认打开应用c++学习(四):函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

关于通用计算

这个文章的开篇来自于Nvidia的CUDA。类似的GPU加速技术已经发展了很多年,并且日趋成熟。从最初仅仅只能用来硬解高清的视频,到现在发发展到视频编码/物理加速/并行计算等多种功能为一体,这样日新月异的变化的确令人感到惊叹。但是我们真的需要这样的通用计算吗? 什么是CUDA?引用来自维基百科的解释—— CUDA(Compute Unified Devi...

Android | 教你如何在安卓上实现通用卡证识别,一键各种卡绑定

目录 前言 通用卡证识别的应用场景 如何使用通用卡证识别服务 集成通用卡证识别服务的关键流程 开发实战 1 开发准备 1.1 在项目级gradle里添加华为maven仓 1.2 在应用级的build.gradle里面加上SDK依赖 1.3 配置混淆脚本 1.4 在AndroidManifest.xml文件里面申请相机和存储权限 2 代码开发...

分析模式(可复用的对象模型)- 读书笔记

读后感: Martin Fowler 20年前的书,OO和领域的思想对于今天的我们来说很基础,但在那时应该算是萌芽。Smalltalk语言简单,语法中省略空格可能因为那时的硬件设备昂贵,而不得不做出的选择,但是可读性真的很差,而书中基本是用Smalltalk进行示例。翻开这本书是为了查找财务模型,它没有让我失望,特别是第6章“库存与财务”给了我思维建模的...

[Architecture Design] DDD经验分享 (下)

接续... [Architecture Design] DDD经验分享 (中) 系统设计阶段 (SD) 「系统设计阶段」主要的工作是对设计完成的系统架构,做每个功能模块的对象设计。一般会采UML的「类别图」、「循序图」等等工具,来完成系统设计的工作。最终将设计完毕的解决方案,整理成一份「系统设计规格书」。如果说需求分析阶段是建立骨架,那么系统设计阶段就是填...

再论 Java 应用中的“领域建模”

再论 Java 应用中的“领域建模”转载请保留作者信息: 作者:88250 Blog:http:/blog.csdn.net/DL88250 MSN & Gmail & QQ:DL88250@gmail.com 再论 Java 应用中的“领域建模” 相关术语与概念 POJO(Plain Old Java Object) 领域模型(...

架构系列:逻辑分层总结

概述: 将业务逻辑层独立出来是逻辑架构分层的基础,而将应用逻辑从业务逻辑层中分离出来是服务层(应用层)的基础。高内聚低耦合是分层依赖的基础,因此合理的划分层次,减少层级依赖是逻辑分层架构的核心。 一.基础知识准备: 1.层的原则: (1)每一层以接口方式供上层调用。 (2)上层只能调用下层。 (3)依赖分为松散交互和严格交互两种。 2.业务逻辑分...