之前介绍了面向对象编程的概念,这篇文章来介绍一下常用的面相过程编程。
过程编程的逻辑就是 第一步做什么,第二步做什么,之后做什么...也就是在完成不同部分的任务的过程实现功能。
同时,我们也可以将复杂的任务拆解成一个又一个小部分,再将他们组合起来,最终实现所需的功能。
面向过程编程的核心就在于这些部分的拆分,要清楚的了解任务的构成,分清数据与逻辑的边界,利用算法加数据结构完成任务。
也就是说,面向过程编程侧重于程序化的逻辑,顺次完成任务,即按部就班的完成所安排的目标,导致代码的重构较为麻烦,但面对简单的任务时却有得天独厚的优势,同时,如果是一些特定情况(如需要使用某类算法)。
面向过程编程的流程大致如下:
分析任务→分解任务→完成模块→组合→执行验证。
面向过程编程的很多方面都不如面向对象编程,那是不是面向过程思维就不如面向对象思维了?
答案是否定的,因为二者并不在同一层级,面向对象不可以放弃过程,而面向过程却可以不用理会对象,面向对象编程的众多对象最后还是要在过程中完成联系。所以说面向过程编程实际上是基础,而面向对象编程则是在基础之上的延申,延申固然有其优势,但最后还是要依附于基础的。
所以提倡面向对象编程,并不是放弃面向过程编程,传统亦有其可取之处,倘若让你去计算(1+9)*99,你不去直接算,反而去拆分成1*99+99*99,不是自找麻烦吗?
所以二者其实是分不出高下的,没有最好的,只有最适合的,灵活的根据项目的需求去编写程序才是最高效的方式。