面向对象开发方法和结构化开发方法有什么区别?

首先,两个概念都有分而治之的设计思想。结构化的重点是功能,通过功能切割为各个模块来实现,直接来源于解决需求问题。它把功能分成小块,使各自的区域隔离解耦,也就是分成模块。

然后按照设计流程,将这些模块拼接在一起,形成一个功能相对完善的程序项目。

面向对象,它的基石当然是对象。通过对项目需求的分析,建立了对象模型,分析了对象的功能和关系。

面向对象也是模块化的,与结构化模块类似但又不同。

结构上的模块化是基础和自然产物,面向对象的模块化是设计思维方式。

把两者的根源看清楚,再看他们的xx设计来说明xx思路,以免混淆。

两者不是对立的,也不是不同的,而是发展过程中的丰碑。

有优点的对象很多,这应该是常识。问题是容易过度抽象,过度设计,过度分离,过度xx。

结构化,优势直接,重在解决问题和实现功能。至于缺点,面向对象的优点反过来了。在一篇论文里发现了一个结论,补充了一下。编程方法的发展经历了四代。结构化和面向对象是软件工程编程方法中最本质的思维方法。结构化体现了抽象思维和解决复杂问题的基本原则,而面向对象深刻反映了客观世界是由对象组成的本质特征。

各种编程方法的一个重要区别在于出发点(因素)不同,问题分解的思维方式不同。

计算机中的数据结构和处理是密切相关的。结构化方法将数据结构和过程分开考虑,面向对象方法将数据和过程组合成对象。

理论上,面向对象的实用方法会产生更好的模块内聚和耦合特性,使软件更容易重用和维护。但是在实践中,编程方法需要工具和环境的支持,需要考虑软件生命周期的方方面面。在选择编程方式时,需要综合考虑这些因素。