OOP向AOP思想的延伸

本文探讨了AOP(面向切面编程)的概念,通过对比OOP的差异,阐述了AOP在处理横切关注点时的优势,并讨论了何时在软件开发中适合引入AOP。
摘要由CSDN通过智能技术生成
        最近几天一直在研究AOP。从什么是AOP都不了解的程度开始一点一点的摸索,上网查了很多关于AOP的资料,慢慢消化它。

什么是AOP?

           AOP是OOP的延续,它是一种面向切面编程,说白了它就是一种思想。说到OOP大家都很熟悉,既然说是OOP的延续,理解起来应该就容易多了。
      面向切面编程:即允许通过分离业务逻辑与系统服务进行内聚性开发。对“高内聚,低耦合”的一种实现,实现了调用者与被调用者之间的解耦和。

对比:

        首先:AOP和OOP是不同领域的两种思想。
 面向对象OOP:对现实世界的抽象及模型化分析问题,把一个大的应用系统分成一个一个的对象,然后把它们有机的组合在一起完成
通俗的讲:就是将一个系统抽象成一个一个的对象,每个对象都由属性和方法组成,当你完成这些属性和方法的编程时,系统也就快完成了。每个对象只干自己的事,所以对象加起来就是整个系统。

 面向切面AOP:分析问题是从关注点的角度出发,把一个软件分成不同的关注点。当我们使用OOP的思想编程时,编写的类不够纯粹,类中总是有一些不属于其完成的部分存在(错误处理,日志记录、事务处理等),所以要用到AOP来解决,所以AOP是OOP的一个补充。

使用AOP的好处:

      利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
     所以说,使用AOP,我们可以专注于业务逻辑代码的编写,将诸如日志记录、安全监测等系统功能都交由AOP框架,在运行时刻自动耦合进来。

何时使用AOP

     比如:日志管理、权限管理、数据同步、事务管理等方面。
例如一个系统,之前我们是这样做的:

引入AOP后:


   那么,我们如何使用AOP呢,理论很好理解,具体要怎么实现呢?学习中,此博客待续。。。。。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值