领域模型、MDD\DDD\TDD概念

此篇是个人笔记整理,知识来源:领域模型-CSDN博客什么是MDD,DDD,TDD?-CSDN博客

一、领域模型

定义:领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。

        领域模型(Domain Model),是完成从需求分析到面向对象设计的一座桥梁,领域模型是指对需求所涉及的领域的建模,所以也叫业务对象模型,是描述业务用例实现的对象模型。它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。

        上面这段话中,还涉及到了业务对象和业务实体的概念。实际参与业务中,不同业务实例虽然对类的要求不一样,但是不同业务实例之间也存在着非常相似的类,将这些相似的类合并在一起,这时就产生了一个业务角色或业务实体,它拥有足以满足不同业务用例要求的关系、属性和操作。        在业务对象模型中,业务角色代表雇员将担当的角色,而业务实体则代表雇员将处理的对象。一方面,可以使用业务对象模型来确定业务雇员将如何进行交互,以产生业务主角所期望的结果。

二、MDD(Model-driven design)模型驱动设计

MDD代表了一套理论和工业化软件开发的方法框架,在软件开发全生命周期中系统的使用模型作为主要工具。是一种以模型作为主要工件的高级别抽象的开发方法,是iuap平台下的元数据驱动设计框架,前后端的统一基于元数据的框架。

核心思想:

  • 分离领域业务技术平台的耦合
  • 极大提升业务领域模型和技术模型在软件生命周期的复用

三、DDD(Domain-driven design)领域驱动设计

DDD是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法。领域模型是对业务模型的抽象,DDD是把业务模型翻译成系统架构设计的一种方式。

由概念可知,DDD则是重点关注在业务的层面,而MDD则是整个环节或者侧重于业务到技术的中间层。

四、TDD(Test-Driven Development) 测试驱动开发

TDD是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。

相对于前面两个概念,TDD更为简单,即测试先行。有面向失败设计的思想。为了保证开发的准确,先将进行编写测试(单元测试),在此过程中更利于去加深对业务的理解,降低错误。

先这么记着,以后再补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值