設計模式之代理模式
代理模式實現了類與類之間直接調用的解耦,例子:代理模式主要使用了java的多態,干活的是被代理類,代理類主要的接活
,把活交給幕后的被代理類做,代理類和被代理類實現同一個接口。
被代理類的接口:
public interface Object {
void action();
}
被代理類的接口實現類:void action();
}
public class ObjectImpl implements Object{
public void action() {
System.out.println("========");
System.out.println("========");
System.out.println("這是被代理的類");
System.out.println("========");
System.out.println("========");
}
}
代理類:public void action() {
System.out.println("========");
System.out.println("========");
System.out.println("這是被代理的類");
System.out.println("========");
System.out.println("========");
}
}
public class ProxyObject implements Object{
Object obj;
public ProxyObject() {
System.out.println("這是代理類");
obj = new ObjectImpl();
}
public void action() {
System.out.println("代理開始");
obj.action();
System.out.println("代理結束");
}
}
測試類:
public class Test {
public static void main(String[] args) {
Object obj = new ProxyObject();
obj.action();
}
}
public static void main(String[] args) {
Object obj = new ProxyObject();
obj.action();
}
}