设计模式--5.5 代理模式-通用代码及aop
1.通用代码
(1)Subjects
package com.design.代理模式.通用代码; public interface Subject { void request(); }
(2)RealSubjects
package com.design.代理模式.通用代码; public class RealSubject implements Subject { @Override public void request() { // TODO Auto-generated method stub } }
(3)Proxy
package com.design.代理模式.通用代码; public class RealSubject implements Subject { @Override public void request() { // TODO Auto-generated method stub } }
2. AOP概念
(1) 切面 Aspect,横切关注点被模块化之后的特殊对象。
如,我在调某个加方之前,希望打印日志,把参数打印出来,)你这个需求就叫横切关注点,打印日志被抽离出来模块化,这个模块化对象就叫做日志切面。
(2) 切入点 jointpoint,比如我希望在加法之前打印日志,那么在加法之前,就叫切入点,joinpoint,或者执行后,打印结果,这个执行后,也叫切入点
(3) 通知,切面必须要完成的工作,如日志,权限验证,叫做通知
(4) 织入,比如打印日志这个动作,就叫织入
(5) 切点 pointcut,aop通过切点定位到特定的切入点。切入点类似于数据库记录,切点类似于查询条件