代理模式属于结构型模式。一个类代表另一个类的功能,主要是为了解决直接访问某些类可能造成的问题,使用第三方的类来实现一些功能,需要注意的是,为了实现对客户端透明,代理类和被代理类要实现同样的接口,简单实现:
抽象接口
public interface Product {
void fun();
}
实现类
public class RealProduct implements Product{
@Override
public void fun() {
System.out.println("form realProduct");
}
}
代理类:
public class ProxyProduct implements Product{
private Product product;
public ProxyProduct(Product product){
this.product = product;
}
@Override
public void fun() {
product.fun();
}
}
测试类
public class test {
public static void main(String[] args) {
ProxyProduct proxyProduct = new ProxyProduct(new RealProduct());
proxyProduct.fun();
}
}
网友评论