回顾编程范式

一 面向过程编程

面向过程编程就是分析出问题所需的步骤,然后用函数将这些问题一步步的去实现,使用的时候一个一个的依次调用就可以了。

常用的面向过程编程的语言有:C语言,Pascal,Basic语言。

二 面向对象编程

在面向编程中,对象是处于主要位置的,因为建立对象的目的是为了描述某个事物在整个解决问题的步骤中的行为。

常见的面向对象编程的语言有:C++,Java。

三 函数式编程

函数式编程也可以归结到面向过程的程序设计,其思想更接近数学计算。从计算机本身去分析时,CPU只是执行加减乘除的指令代码,以及各种条件判断的跳转指令。

计算指的是数学意义上的计算,越是抽象的计算,离计算机底层硬件就越远。

根据上述特点结合编程语言,对于越低级的语言抽象程度越低,基于此,汇编语言是最贴近计算机的语言,其抽象程度最低,执行效率越高。C语言也是比较接近计算机的,所以效率也是比较高的。

相对而言,越是高级语言,执行效率也会比较低。如Lisp语言。

函数式编程是一种抽象程度很高的编程范式,纯粹的函数编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的。

四 事件驱动编程

事件驱动编程在GUI开发中比较常见。

五 面向切面编程

面向切面编程(AOP)也是一中编程范式,它只能解决特定问题,不能解决所有问题,它能够对面向对象编程(OOP)进行补充。

AOP能够一定程度上的解决代码重复性问题(DRY问题),同时能够解决关注点分离。

水平分离:展示层->服务层->持久层;这是技术层面的分离,从持久层到服务层最后到展示层。

垂直分离:进行业务模块的划分(订单,库存等)。

切面分离:分离功能性需求与非功能性需求。

面向切面编程能够将我们的关注点集中处理,并且能够减少代码的侵入性,增强代码可读性及可维护性。

常见的使用场景:权限控制,缓存控制,事务控制,审计日志,性能监控,分布式追踪,异常处理等。

支持AOP的编程语言:Java,.NET,C/C++,Ruby,Python,PHP ...

猜你喜欢

转载自blog.csdn.net/calm_encode/article/details/113571848