代理模式
代理模式主要就是委托给代理人去做,就好比,我们租房子,买房子自己没时间就委托给中介代理。
静态代理
创建一个接口,然后创建被代理的类实现该接口并且实现该接口中的抽象方法。之后再创建一个代理类,同时使其也实现这个接口。在代理类中持有一个被代理对象的引用,而后在代理类方法中调用该对象的方法。
代码实现
处理事情的接口CommonInterface.java
package com.zhouzy.sjms.service;
public interface CommonInterface {//
public void doProcess();
}
客户实现处理事情的接口Customer.java
package com.zhouzy.sjms.service;
public class Customer implements CommonInterface{
@Override
public void doProcess() {
System.out.println("正在执行中");
}
}
代理类ProxyDo.java
引入了客户实现类
package com.zhouzy.sjms.service;
public class ProxyDo implements CommonInterface{
Customer customer = new Customer();
@Override
public void doProcess() {
System.out.println("执行前=========");
customer.doProcess();
System.out.println("执行后=========");
}
}
测试
package com.zhouzy.sjms.service;
public class Application {
public static void main(String[] args) {
ProxyDo proxyDo = new ProxyDo();
proxyDo.doProcess();
}
}
结果: