1.面向过程
2.面向对象
一. 面向过程
站在过程的角度思考问题,强调功能。
面向过程的设计:
最小程序单元是函数,每个函数负责完成某一个功能,用以接收输入数据,函数对输入
进行处理,然后输出结果。
整个软件系统由一个个的函数组成,其中作为程序入口的函数称为主函数,主函数依次调用其他函数,
普通函数直接可以相互调用,从而实现整个系统功能。
设计图解:
缺陷:
采用置顶向下的设计方式,在设计阶段就需要考虑每一个模块应该分解成哪些子模块,
每一个子模块细分为更小的子模块,如此类推,直到将模块细化为一个个函数。
存在问题:
- 设计不够直观,与人类的习惯思维不一致。
- 系统软件适应性差,可拓展性差,维护性低。
二. 面向对象
一种基于对象的编程思想,站在对象的角度思考问题,把多个功能合理放到不同对象里,
强调的是具备某些功能的对象。
最小的程序单元是类。
具备某种功能的实体,称为对象。
设计图解:
面向对象更加符合人类的思维,稳定性好,可重用性强,易于开发大型软件产品,有良好的
可维护性。面向对象更加模块化,实现更低的耦合更高的内聚。
三大特征:
- 封装(Encapsulation);
- 继承(Inheritance);
- 多态(Polymorphism);