今天先介绍一下代理模式。
概念:
代理模式(Proxy):为其他对象提供一种代理以控制对该对象的访问。
优点:
(1)、适配器模式Adapter
适配器Adapter 为它所适配的对象提供了一个不同的接口。相反,代理提供了与它的实体相同的接口。然而,用于访问保护的代理可能会拒绝执行实体会执行的操作,因此,它的接口实际上可能只是实体接口的一个子集。
(2)、装饰器模式Decorator
尽管Decorator的实现部分与代理相似,但Decorator的目的不一样。Decorator为对象添加一个或多个功能,而代理则控制对对象的访问。
package Pattern;
/*
* 公共接口
*/
interface Subject
{
public void Print();
}
/*
* 真实对象
*/
class RealSubject implements Subject
{
public void Print()
{
System.out.println("完成打印功能!");
}
public void DoSomething()
{
System.out.println("完成其他功能!");
}
}
/*
* 代理对象
*/
class Proxy implements Subject
{
RealSubject realSubject;
public void Print()
{
if(null==realSubject)
realSubject=new RealSubject();
realSubject.Print();
}
}
public class Pattern {
public static void main(String[] args) {
try {
Proxy myProxy=new Proxy();
myProxy.Print();
} catch (Exception e) {
e.printStackTrace();
}
}
}