您的位置:首页 > 编程语言

面向方面的编程(AOP)

2006-08-25 19:33 302 查看
面向对象的编程(OOP)中常用的概念是:继承、封装、多态。在面向方面的编程(AOP)中常使用的概念是:

advices/interceptors, introductions, metadata, and pointcuts。
AOP 面向方面编程的介绍:
面向方面的编程思路很简单。从面向过程、函数的编程到面向对象的编程到面向接口的编程到面向组件、模块编程的发展历史我们可以知道,编程方法学的演进是一步一步的扩大了编程考虑的“边界”。到目前为止我们的编程世界里的宇宙边界是“类、接口,或者组件”,在这个边界里,我们认为,一个类实现一个接口,那就不能动态的实现另一个接口,已有类的行为在编译以前就基本固定,要么是类内部定义的方法,要么是要么是继承和实现接口继承过来的方法。但是实际的编程工作中我们碰到了“跨边界的情况”,需要多个类,接口,组件合作才能完成的工作,比如:多线程并发访问,程序流集中控制,序列化和程序状态保持,以及需要多个“类、接口、组件边界”共同参于才能完成的工作。为了更好的处理多个边界共同完成同一方面的工作,面向方面的编程出现了。这里的方面,我们可以指:为完成同一任务而需要多个类、接口、组件一起协作工作的综合。你可以认为方面其实就是一个更大的类,这个类主要由我们OOP中的类、接口组成,当然这些类和接口是如此的亲密,以至于他们行为(方法)可以相互转换。其实这没什么大不了的,接口的出现不是实现了动态的改变类的行为的吗?面向方面的编程只是做了一个延伸,把这个改变提升到了接口这个层次上。

面向方面编程 (AOP) 提供从另一个角度来考虑程序结构以完善面向对象编程(OOP)。 面向对象将应

用程序分解成 各个层次的对象,而AOP将程序分解成各个方面 或者说 关注点 。这使得可以模块化诸如事务管理等这些横切多个对象的关注点。(这些关注点术语称作 横切关注点。)Spring的一个关键组件就是AOP框架。

学习ing.....待续........
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: