
aop
文章平均质量分 79
zyl623
这个作者很懒,什么都没留下…
展开
-
使用aop创建松散耦合(分析日志程序)
日志,是每个系统都不可缺少的。但是,又不是必要的业务需求。 但用于日志记录的代码和主要用于其它职责的代码缠绕在一起。根据所解决的问题的复杂程度和作用域的不同,所引起的混乱可大可小。更改一个应用程序的日志记录策略可能涉及数百次编辑 ― 即使可行,这是个令人头疼的任务。 考虑一下以下代码:清单 1. 日志调用手工插入到每个方法中原创 2006-09-17 16:56:00 · 653 阅读 · 0 评论 -
使用aop创建松散耦合(分析日志程序)
日志,是每个系统都不可缺少的。但是,又不是必要的业务需求。 但用于日志记录的代码和主要用于其它职责的代码缠绕在一起。根据所解决的问题的复杂程度和作用域的不同,所引起的混乱可大可小。更改一个应用程序的日志记录策略可能涉及数百次编辑 ― 即使可行,这是个令人头疼的任务。 考虑一下以下代码:清单 1. 日志调用手工插入到每个方法中 ...2006-09-17 16:56:00 · 106 阅读 · 0 评论 -
用AOP实现观察者模式
观察者(Observer)模式 用途:定义对象之间的一对多依赖关系,因此,当一个对象的状态发生改变时,其所有依赖项都会得到通知,并自动更新。 它是 OO 设计模式的皇后。该模式被人们广泛应用(特别是在 GUI 应用程序中),并构成了 MVC 架构的关键部分。它处理复杂的问题,而在解决这类问题方面表现得相对较好。但是,从实现需要的努力和代码理解的角度来说,它还是带来了一些难以解决的...2006-11-17 16:53:36 · 350 阅读 · 0 评论 -
几个有用的静态方面,用于审查代码(aspectJ实现)
收集了几个常用的方面:NoCallsIntoTestFromOutside 禁止从产品包到测试包的引用public abstract aspect NoCallsIntoTestFromOutside { //引用带有test的包的所有可能操作 pointcut referToTestPackage(): call(* *..test..*.*(.....2006-11-16 19:00:58 · 117 阅读 · 0 评论 -
AspectJ 学习笔记:Aspect的生命周期
默认的情况下,Aspect类只有一个实例存在于虚拟机中,也就是作为单例存在的,对于每个对象来说,方面是共享的。一般这样的方面,不能用来保存相应对象的状态。 对于AspectJ 来说,Aspect方面类,包括以下的实例化方式。 * 每虚拟机(默认),只有一个实例,其生命周期从虚拟机启动开始,一直到虚拟机停止。 * 每对象,对于每一个对象都有一个方面实例,其生命...2006-10-21 20:54:49 · 381 阅读 · 0 评论 -
用AOP实现观察者模式
观察者(Observer)模式 用途:定义对象之间的一对多依赖关系,因此,当一个对象的状态发生改变时,其所有依赖项都会得到通知,并自动更新。 它是 OO 设计模式的皇后。该模式被人们广泛应用(特别是在 GUI 应用程序中),并构成了 MVC 架构的关键部分。它处理复杂的问题,而在解决这类问题方面表现得相对较好。但是,从实现需要的努力和代码理解的角度来说,它还是带来了一些难以原创 2006-11-17 16:58:00 · 1166 阅读 · 0 评论 -
几个有用的静态方面,用于审查代码(aspectJ实现)
收集了几个常用的方面:NoCallsIntoTestFromOutside 禁止从产品包到测试包的引用public abstract aspect NoCallsIntoTestFromOutside { //引用带有test的包的所有可能操作 pointcut referToTestPackage(): call(* *..test..*.*(..)) ||原创 2006-11-16 18:59:00 · 747 阅读 · 0 评论 -
AspectJ 学习笔记:Aspect的生命周期
默认的情况下,Aspect类只有一个实例存在于虚拟机中,也就是作为单例存在的,对于每个对象来说,方面是共享的。一般这样的方面,不能用来保存相应对象的状态。 对于AspectJ 来说,Aspect方面类,包括以下的实例化方式。 每虚拟机(默认),只有一个实例,其生命周期从虚拟机启动开始,一直到虚拟机停止。 每对象,对于每一个对象都有一个方面实例,其生命周期跟随相关联的对象原创 2006-10-21 20:55:00 · 2402 阅读 · 0 评论 -
关于AspectJ 中的pointcut 语法
这两天忙着看AspectJ in Action 为了补一下AOP知识。看了Spring 2.0的规范,其中AOP部分已经基本融合了AspectJ,看来有必要看一看AspectJ了。 看了很多AOP的文章了,AOP这两年发展的很慢,没有什么新意,现在到处都是SOA,SCA了,不过研究了一下,觉得还是很有帮助的。尤其是增加系统的契约性和模块的独立性来说,很有帮助。 当然,学东西,基础很原创 2006-10-17 20:41:00 · 1654 阅读 · 1 评论 -
spring aop 2.0 编程(二)一个实例
前面这是讲了许多的概念,下面以一个例子来说明:一个很好理解的aop 例子,也就是日志服务。先从aop第一种方式来实现,也就是xml配置方式先创建基本的日志类:public class Logger { private static Log log = LogFactory.getLog(Logger.class); public void entry(String messag原创 2006-09-17 17:04:00 · 2702 阅读 · 0 评论 -
spring aop 2.0 编程
在spring2.0中,aop发生了很大的变化:主要分为两大方面1.支持简单的aop xml配置2.支持@AspectJ的注释先来看一看第一种情况:申明一个aspect,在xml中的申明如下: ... ...申明pointcut expression="execution(* com.xyz.myapp.servic原创 2006-09-17 17:00:00 · 1007 阅读 · 0 评论 -
关于AspectJ 中的pointcut 语法
这两天忙着看AspectJ in Action 为了补一下AOP知识。看了Spring 2.0的规范,其中AOP部分已经基本融合了AspectJ,看来有必要看一看AspectJ了。 看了很多AOP的文章了,AOP这两年发展的很慢,没有什么新意,现在到处都是SOA,SCA了,不过研究了一下,觉得还是很有帮助的。尤其是增加系统的契约性和模块的独立性来说,很有帮助。 当然,学东西,...2006-10-17 20:39:44 · 132 阅读 · 0 评论