如何理解POP,OOP,AOP之间的关系

1.POP

面向过程编程(Prcedure Oriented Programming,简称POP)是一种以过程为中心的编程思想,它考虑的是实际的实现,是一种从上而下,步步求精的过程。对于面向过程而言,讲究的是事件执行的顺序,只需要按照程序的流程,一个个实现就行了。比如:把大象塞入冰箱需要三步

  1. 打开冰箱门
  2. 把大象放入冰箱
  3. 关上冰箱门

你只需要按顺序将三个步骤分别实现就可以了。对于规模不大的项目,面向过程有时可能会有一些优势。

2.OOP

面向对象编程(Object Oriented Programming,简称OOP)是一种以对象为中心的编程思想,它的核心思想是“万物皆对象”。OOP将对象的特征称为属性,将对象的动作称为方法,把具有相同属性特征的对象抽象成一个类。当需要调用对象中的方法时,可以直接调用,而不用考虑事件执行的先后顺序,OOP的三大特征就是继承、封装与多态。

3.AOP

面向切面编程(Aspect Oriented Programming,简称AOP)采取横向抽取技术,将分散在各个方法中的重复代码提取出来,然后在程序的编译或运行阶段,再将这些抽取出来的代码应用的需要执行的地方。AOP面向的更多是次要方面,如业务处理代码中的日志记录、性能统计、安全控制、事务处理、异常处理等操作,由AOP进行统一管理,简化了开发过程,提升了开发效率。

4.POP,OOP,AOP之间的关系

POP的耦合度较高,一旦业务流程发生改变,就需要修改整个项目,可维护性差;相对的,由于不需要类的实例化等操作,所以效率较高。
OOP实现了业务流程与方法的分离,耦合度较低,易拓展,易复用,易维护,程序开发更加灵活,而效率却相对较低。
AOP不是OOP的替代品,而是OOP的补充,他们相辅相成。尽管使用OOP可以使用封装和继承的方式实现代码的复用,但这只是父子关系的纵向复用,不全面且存在一定的侵入性,AOP的横向抽取机制恰好可以弥补传统OOP的不足。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值