美文网首页
结构化编程和面向对象编程的意义

结构化编程和面向对象编程的意义

作者: 杰_6343 | 来源:发表于2022-01-11 16:29 被阅读0次

    如果现在只能用汇编和 Goto 编程

    写代码也不讲什么规则,可以随意使用灵活而又强大的 Goto,写出只有自己能懂的代码。

    1968年,“北约软件工程大会”

    会议指出:软件的复杂度已经变得人脑无法掌控,我们已经处于严重的软件危机当中!

    会议强调:软件的生产有必要建立在某些理论基础和实践指导之上!

    会议要求:各单位要切实加强对其他学科的学习,实施软件软件工程的办法,努力提高程序设计的效率和质量。

    因此废除goto,使用结构化编程作为理论基础和实践指导的重要意义

    无论是什么程序,不管多么复杂,都可以用三种基本的结构来表达:顺序,分支,循环。

    程序设计以提高效率和质量

    自顶向下分析问题

    模块化设计

    高内聚、低耦合

    瀑布式开发方法

    随着程序越来越复杂,结构化编程的两个致命问题逐渐暴露:

    1. 维护全局变量变成噩梦

    子程序(函数)虽然封装了相同的代码逻辑,成为黑盒子,但是多个子程序(函数)需要共享信息的时候,就需要全局变量,全局变量一旦变多,维护就变成噩梦。

    2. 子程序(函数)的复用性太差

    希望在运行时能动态的替换成用户自己的东西(没错,这其实就是一个框架了!) ,这时结构化编程就有点儿着急了。

    随着结构化编程缺陷的暴露,人们发现 Simula 67 这门语言的特征——支持类,还支持继承,多态这些新鲜的概念,正好可以解决上面的两个问题:

    1. 类可以把函数和成员变量组织在一起,消除全局变量

    2. 通过多态,可以实现对主程序的复用

    主程序只调用接口或者缺省类,使用者提供实现类,两者结合起来,完成业务功能。

    大神程序员可以集中精力搞定那些最基础,最重要的东西,创建出通用的框架和类库让程序员使用。我等普通人只需要专注业务逻辑即可, 又可以快乐地搬砖了!

    使用面向对象的技术,代码的复用层级从简单的函数进化到类和框架,不仅如此,还有些程序员从框架和类库中抽取出了可以重用的思想:模式。

    面向对象技术从60年代的 Simula 67 起源,70年代出现了 Smalltalk,80 年代出现了 C++, 到了90年代,Java 横空出世,面向对象编程终于成为主流。

    相关文章

      网友评论

          本文标题:结构化编程和面向对象编程的意义

          本文链接:https://www.haomeiwen.com/subject/mlabcrtx.html