DDD | 领域驱动设计 Vs 敏捷 Vs 面向对象

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第25天,点击查看活动详情

这篇文章简要分析领域驱动设计、敏捷开发以及面向对象分析和设计三者之间的区别,和分别的使用场景。

Agile

敏捷是一种项目管理和软件开发的迭代方法,帮助团队更快、更好地向客户提供价值。敏捷团队不是把一切都押在 "大爆炸 "上,而是以小的、但可消耗的方式来交付工作。要求、计划和结果被不断地评估,所以团队有一个自然的机制来快速响应变化。

团队选择敏捷,是为了能够快速应对市场的变化或客户的反馈,而不至于使一年的计划脱轨。"足够的 "计划和小而频繁的运输让你的团队收集对每一个变化的反馈,并以最小的成本将其纳入未来的计划。

敏捷它是关于人的。正如《敏捷宣言》所描述的,真实的人际互动比僵化的流程更重要。与客户和队友的合作比预定的安排更重要,为客户的问题提供一个可行的解决方案比超详细的文件更重要。

image.png

OOAD

面向对象的分析和设计(OOAD)是一种分析和设计应用程序、系统或业务的技术方法,通过应用面向对象的编程,以及在整个软件开发过程中使用可视化建模来指导利益相关者的沟通和产品质量。

现代软件工程中的OOAD通常以迭代和递增的方式进行。OOAD活动的产出分别是分析模型(用于OOA)和设计模型(用于OOD)。其目的是让这些模型在风险和商业价值等关键因素的驱动下不断完善和发展。

image.png

image.png

OOAD Vs DDD

OOAD没有战略设计,DDD通过战略设计划分领域和模型;OOAD仅用对象描述世界,DDD的描述更加细致,更贴近与真实世界;两者都是建模和设计思想,部分建模方法(设计模式)和工具都可复用。

Image.png

image.png

Agile Vs DDD

敏捷,关注流程和文化,DDD关注建模设计方法;敏捷,重人员轻文档,DDD重视统一语言的简历。两者都是软件工程领域的思想,解决软件工程中不同阶段的问题,一般可以结合应用。

1_7K0zWViv6Si79qyYSUqyuQ.jpeg

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值