一:介绍POP
POP:Procedure Oriented Programming (面向过程)
理论介绍:Pop是一个面向过程的编程,事件比较简单,可以用线性的思维去解决问题。
通俗的讲:就是按照事情的发展顺序去执行。
图解:
怎么把大象放进冰箱?
- 打开冰箱
- 把大象放进冰箱
- 关上冰箱
那么,请问如果把猫放进冰箱了?
- 打开冰箱
- 把大象拿出来
- 把猫放进去
- 关上冰箱
优势:
- 流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果;
- 效率高,面向过程强调代码的胆小精悍,善于结合数据结构来开发高效率的程序;
- 流程明确,具体步骤清楚,便于节点分析。
劣势:
- 需要深入的思考,耗费精力,代码重用性低,扩展能力差,维护起来难度比较高;
- 对复杂业务来说,面向过程的模块话难度较高,耦合度也比较高。
二:介绍OOP
- OOP:Object Oriented Programming (面向对象)
- 理论介绍:OOP是考虑问题的方式,可以应对复杂的业务需求。
- 通俗的讲:面向对象针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。
- 图解:
5.解决POP的不能扩展的问题,编写复杂的业务逻辑。
优势:
- 结构清晰,程序便于模块化,结构化,抽象化,更加符合人类的思维方式;
- 封装性,将事务高度抽象,从而便于流程中的行为分析,也便于操作和自省;
- 容易扩展,代码重用率高,可继承,可覆盖;
- 实现简单,可有效地减少程序的维护工作量。
缺点:
- 面向对象在面向过程的基础上高度抽象,从而和代码底层的直接交互非常少,从而不适合底层开发和游戏开发,甚至是多媒体开发;
- 复杂性,对于事务开发而言,事务本身是面向过程的,过度的封装导致事务本身的复杂性提高。
二:介绍AOP
- AOP:Aspect Oriented Programming (面向切面)
- 理论介绍:通过预编译方式和运行期动态代理实现程序功能的中统一处理业务逻辑的一种技术。
- 通俗的讲:面向切面,把程序某些模块都要执行的方法,提取出来,写一个方法,在使用的地方,只需要调用就行了!比较常见的场景是:日志记录,错误捕获、性能监控等。
- 图解: