代理模式的类型分为:
(1)虚拟代理
(2)远程代理
(3)智能指引
(4)保护代理
这一篇主要讲虚拟代理,想要知道其他类型讲解的小伙伴可以去我其他博客翻一翻哦。
首先来理解一波虚拟代理,啥叫虚拟代理?
举个很常见也很通俗的例子,咱们平时抽奖的时候,是不是都想要抽个大奖(一般是家电或者汽车),但我们又不能真的把家电搬来抽奖,这时候,抽奖券就是我们的虚拟代理。
任何不是目标实物,却用来代理目标实物的我们都把它叫做虚拟代理(个人理解,大家批判性接受)
好,我们就以抽奖券为例,首先看下类图是怎样的:
首先写抽象类Prize
package Agency;
public abstract class Prize {
protected String name;
public Prize(String name)
{
super();
this.name=name;
}
public String getName()
{
return this.name;
}
abstract public void checkPrize();//具体兑奖细节
}
然后写子类RealPrize