标签:
代理设计模式:Proxy Pattern。在真实对象与客户端对象之间加入一层中阶层,由这一
层中介来完成对真实对象的引用。
优点:可以让程序的业务逻辑更加清晰。客户端对象不需要了解真实对象的细节,所有
的调用均由代理来完成。扩展性更高。代理保护了真实对象。
常用的场景:
1. 远程代理:为一个位于不同的位置的对象提供一个本地对象的代理。
2. 虚拟代理:当需要创建一个开销较大的对象时,先创建一个较小的对象,当真的需要使用这个对象时再真正的创建它。
3. 保护代理:当需要对一个对象根据不同的权限级别来进行控制的时候使用。
4. 智能指针:如java中的智能指针。
5. Copy-on-Write:虚拟代理的一种具体实现,延迟复制操作,只有当用户真正需要使用的时候再进行操作。这样可以减少消耗。
以下是一个实例,问题描述:
代码如下
class test
{
public static void main(String args[])
{
supermarket s=new supermarket();
user u=new user(s);
u.show();
}
}
class goods
{
String name="goods";
}
class supermarket extends goods
{
factory goo;
supermarket()
{
goo=new factory();
}
void show()
{
goo.show();
}
}
class factory extends goods
{
void show()
{
System.out.println("factory");
}
}
class user
{
supermarket goo;
user(supermarket g)
{
goo=g;
}
void show()
{
goo.show();
}
}
联系我:renhanlinbsl@163.com
2016-8-1
20:24
标签:
原文地址:http://www.cnblogs.com/ives/p/proxy_pattern.html