每天一设计模式之代理模式
来源:互联网 发布:2017淘宝红包口令多少 编辑:程序博客网 时间:2024/05/22 06:12
每天一设计模式之代理模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问.
代理模式结构图:
代码来源:大话设计模式
代码样例:送MM礼物
SchoolGirl:
package test;
public class SchoolGirl {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
送礼物:
package test;
public interface GiveGift {
void GiveDolls();
void GiveFlowers();
void GiveChocolate();
}
具体送礼物:
package test;
public class Pursuit implements GiveGift {
private SchoolGirl mm;
public Pursuit(SchoolGirl mm) {
this.mm = mm;
}
public void GiveChocolate() {
System.out.println(mm.getName() + "给你巧克力");
}
public void GiveDolls() {
System.out.println(mm.getName() + "给你洋娃娃");
}
public void GiveFlowers() {
System.out.println(mm.getName() + "给你鲜花");
}
}
代理:
package test;
public class Proxy implements GiveGift {
private Pursuit pursuit;
public Proxy(SchoolGirl mm) {
pursuit = new Pursuit(mm);
}
public void GiveChocolate() {
pursuit.GiveChocolate();
}
public void GiveDolls() {
pursuit.GiveDolls();
}
public void GiveFlowers() {
pursuit.GiveFlowers();
}
}
测试:
package test;
public class Test {
public static void main(String[] args) {
SchoolGirl mm = new SchoolGirl();
mm.setName("小李");
Proxy proxy = new Proxy(mm);
proxy.GiveChocolate();
proxy.GiveDolls();
proxy.GiveFlowers();
}
}
- 每天一设计模式之代理模式
- 每天一个设计模式之代理模式
- 每天一设计模式之 命令模式
- 每天一设计模式之适配器模式
- 每天一设计模式之观察者模式
- 每天一设计模式之原型模式
- 设计模式之代理模式一
- 设计模式之动态代理模式(一)
- 每天一整理-java设计模式之工厂模式模式
- JAVA设计模式之【代理模式】一(静态代理)
- 每天一设计模式之 职责链模式
- 每天一设计模式 之 中介者模式
- 每天一设计模式之桥接模式
- 每天一设计模式之建造者模式
- 每天一设计模式之单例模式
- 每天一学设计模式之单例模式
- 每天一学设计模式之工厂方法模式
- 每天一学设计模式之抽象工厂模式
- 奇怪的double型变量的比较
- 选择网站关键词其实很简单
- 每天一设计模式之原型模式
- object sender,EventArgs e
- Eclipse 中警告:不能读取 AppletViewer 的属性文件解决
- 每天一设计模式之代理模式
- 雅歌威斯--告诉你什么是百度快照,百度快照如何使用
- Register Enterprise Services
- VLD是内存泄漏检测,AQTIME是效率优化
- 二级必会形容词
- 有用但不太熟悉的LINUX命令
- 每天一设计模式之单例模式
- jdk与jre的区别
- 一个求全排列的算法