首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >软件开发模式、方法论(敏捷、dsdm等)和范例(特别是面向对象)之间的区别是什么?

软件开发模式、方法论(敏捷、dsdm等)和范例(特别是面向对象)之间的区别是什么?
EN

Stack Overflow用户
提问于 2010-04-06 22:54:18
回答 4查看 1.1K关注 0票数 2

软件开发模式之间的区别是什么?

敏捷、DSDM等方法论如何将OO归类为方法论和范式?

如果面向对象本身是一种方法论,那么如何将其应用于敏捷这样的方法论呢?

范式和方法论或开发模式之间有什么区别?

感谢您的回复。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-07 00:47:28

只看你提出的问题中的一个:"...how被归类为一种方法论和范式吗?“

这至少有一个相当简单的答案:

面向对象的设计是一种分析,面向对象的编程是一种实现范式。

OOD涉及到根据对象及其交互来分析问题。OOP涉及将解决方案实现为一组交互对象。

“敏捷”(我讨厌这个名字--尽管我承认"eXtreme编程“更糟糕)实际上是关于项目管理的。例如,您可以将结对编程应用于类似汇编语言或C的显式支持面向对象编程的语言(尽管这是一个相对较新的概念,但它可能最常与相对较新的语言结合使用)。

编辑:我如何将“方法论”与“范式”分开是相当简单的(至少在理论上是这样)。

范例实际上只是“示例”的一个花哨的词。如果我是在一个有意义的程度上遵循这个例子,那么程序的源代码(例如)应该包含直接的、(相当)明确定义的结果。就一个明显的例子而言,一个公开派生自另一个类的类将是OOP的一个非常明显的标志。

相比之下,方法论不一定会在源代码中显示直接的、可定义的结果。例如,在源代码中不太可能有太多内容表明它是否是使用“敏捷”方法开发的。如果(例如)所有源代码文件都包含指示两个作者的注释,我可能会猜测,但(充其量)这将是对方法的一个特定部分的相当间接的指示。

我说的是理论上的,因为事情有时会变得有点“模糊”。如果我足够努力,我可能可以编写非常接近纯过程代码的代码,即使是在Smalltalk这样几乎完全支持对象的语言中也是如此。同样地,如果我足够努力,我可以用像C这样并不真正支持它的东西来编写OO代码。在这样的情况下,遵循范例的指示通常比在更直接的情况下更难找到或定义。

票数 2
EN

Stack Overflow用户

发布于 2010-04-06 23:09:13

“当我使用一个词时,”汉普蒂·邓普蒂用一种相当轻视的语气说,“它的意思就是我选择它的意思--不多也不少。”“问题是,”爱丽丝说,“你能不能让单词有这么多不同的含义。”“问题是,”汉普蒂·邓普蒂说,“哪一个是主人--仅此而已。”

透过镜面。

不是我的答案是刘易斯·卡罗尔的。

票数 3
EN

Stack Overflow用户

发布于 2010-04-06 22:57:46

方法论是关于人的。范例是关于软件的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2585818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档