设计模式--5.5 代理模式-通用代码及aop

时间:2023-01-31 23:15:14

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通过切点定位到特定的切入点。切入点类似于数据库记录,切点类似于查询条件