面向切面编程(AOP)又称面向方面编程 是对统一的总体的进行逻辑处理
个人理解和面向对象中的继承区别是oop是纵向结构 aop是横向结构
面向切面是一种思想,不是具体的框架,也不是具体的代码。
计算机中的所有思想,大部分都是由日常生活中衍生而来的。
比如一场电影300人,流程一般是一个个去检票口检票。而不是分配给300个检票人员分别检票,这样太冗余。
laravel中的中间件, thinkphp中的行为都是由AOP写的。
比如验证用户是否登录,AOP直接在特定的方法中验证,而不是像OOP中每个controller都写一遍if。
OOP与AOP联系:
两者之间是一个相互补充和完善的关系。
AOP的优点:
利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
AOP的主要应用:
日志记录、事务处理、异常处理、安全控制和性能统计方面。