码迷,mamicode.com
首页 > 其他好文 > 详细

葵花宝典-面向对象思想的发展

时间:2018-02-14 19:16:17      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:掌握   硬件   可扩展性   div   二次   快速   影响   软件工程   编程   

1 面向机器编程

    最初的编程是面向机器编程;编程采用机器语言来编写,用二进制表示机器能识别的指令和数据,也就是直接使用0和1表示。这种编程方式写起来困难、出错了也难以调试。后面出现了汇编语言,利用助记符来帮助程序员记忆一些机器指令的操作码,地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在一定程度上简化了编程的难度,但开发人员仍然要精确掌握CPU指令、寄存器、段地址等底层硬件的细节。

2 面向过程编程

    面向过程的语言不再将精力放在关注底层硬件的操作指令、存储等方面。而是关注问题一步步解决的步骤,即问题解决的过程。面向过程相比面向机器是一次思想上的飞跃。将程序员从复杂的机器操作和运行细节中解放出来,转而去关注具体要解决的问题本身。面向过程语言不再与具体的机器绑定,提高了通用性和移植性。

        软件危机

        软件危机其原因,衔接到硬件的整体复杂度,与软件开发流程。危机表现在几个方面:

  • 项目运行超出预算。
  • 项目运行超过时间。
  • 软件质量低落。
  • 软件通常不匹配需求。
  • 项目无法管理,且代码难以维护。

        为了解决软件危机提出了“软件工程”和“结构化程序设计”的概念来解决软件危机的问题。(结构化程序设计主要特点是GOTO语句有害论,主张放弃GOTO语句,采取自定而下、逐步细化、模块化)。软件工程和结构化程序设计在一定程度上降低了软件开发的复杂度,是面向过程设计思想的一次改进。

3 面向对象编程

       结构化编程一定程度上缓解了软件危机,但随着硬件的快速发展,业务需求的不断增长,应用范围的不断扩展,出现了第二次软件危机。相对于第一次危机体现在软件复杂性上,第二次危机体现在软件的可扩展性、可维护性上。面向对象和面向过程一样不是解决软件危机的银弹,面向对象思想是软件设计思想上的又一次飞跃,更一步缓解了软件危机的负面影响。

 

葵花宝典-面向对象思想的发展

标签:掌握   硬件   可扩展性   div   二次   快速   影响   软件工程   编程   

原文地址:https://www.cnblogs.com/mysic/p/8448688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!