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

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

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

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

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

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

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

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

  • 相关阅读:
    恼人的CON(转)
    CINRAD/SB 多普勒天气雷达
    如何将两个栅格数据图层求和并求并集
    javascript设置asp.net程序开始运行时ie最大化显示
    ArcGIS Engine中数据的加载(转载)
    发现了一个arcgis engine的一个bug
    带余除法
    第二数学归纳法
    concat和concat_ws()区别及MySQL的几个实用字符串函数
    oracle查询语句大全
  • 原文地址:https://www.cnblogs.com/dustcode/p/9474193.html
Copyright © 2011-2022 走看看