zoukankan      html  css  js  c++  java
  • AOP(面向切面编程)和Spring 的AOP

    AOP 是面向切面编程,相对于OOP(面向对象编程),Spring 的AOP 是AOP 思想的一种实现

    AOP 可以说是OOP 的补充和完善

    OOP 引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP 则显得无能为力

    在OOP 中只能通过继承类和实现接口来让一组类共享相同的行为,使代码的耦合度增强, 且类继承只能为单继承, 阻碍更多行为添加到一组类上

    AOP 的存在目的是为了解耦,让一组类共享相同的行为

    AOP 利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为 “Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性

    如果说“对象”是一个个空心的圆柱体,面向切面编程的方法,就仿佛一把利刃,将这些空心圆柱体剖开,以获得其内部的消息。而剖开的切面,也就是所谓的“方面”了。然后在这些切面上进行相同的行为比如权限认证、日志、事务处理,最后它又以巧夺天功的妙手 将这些剖开的切面复原,不留痕迹,最终达到了封装共性行为,降低系统耦合度的目的。

  • 相关阅读:
    数据库外键约束
    mysql查询数据
    操作mysql操作数据库
    自定义标签
    jstl标签
    getattibute 与 getparameter区别
    2017.3.2
    java中静态,抽象,接口,继承总结
    关于使用css伪类实现小图标
    动态生成的dom元素绑定事件
  • 原文地址:https://www.cnblogs.com/dustcode/p/9474193.html
Copyright © 2011-2022 走看看