Java 23种设计模式之代理模式
2018-01-01 18:54
387 查看
1. 概念
为其他对象提供一种代理以控制对这个对象的访问
2. 创建送礼物接口
public interface IGiveGift{ //送娃娃 void giveDolls(); //送花 void giveFlowers(); //送巧克力 void giveChocolate(); }
3. 创建追求者和被追求者类
1. 创建追求者类 public class Pursuer implements IGiveGift{ SchoolGril gril; public Pursuer(SchoolGril gril){ this.gril = gril; } @Override public void giveDolls() { System.out.println(gril.getName()+" 送你娃娃"); } @Override public void giveFlowers() { System.out.println(gril.getName()+" 送你鲜花"); } @Override public void giveChocolate() { System.out.println(gril.getName()+" 送你巧克力"); } } 2.创建被追求者类 public class SchoolGril { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
4. 创建代理类
public class Proxy implements IGiveGift{ private Pursuer pursuer; public Proxy(SchoolGril gril){ pursuer = new Pursuer(gril); } @Override public void giveDolls() { pursuer.giveDolls(); } @Override public void giveFlowers() { pursuer.giveFlowers(); } @Override public void giveChocolate() { pursuer.giveChocolate(); } }
5. 测试类
@org.junit.Test public void test(){ SchoolGril gril = new SchoolGril(); gril.setName("qiaoqiao"); Proxy proxy = new Proxy(gril); proxy.giveDolls(); proxy.giveFlowers(); proxy.giveChocolate(); }
6.小结
代理模式其实就是在访问对象时引入一定程度的间接性,因为这种间接性,可以附加多种用途。 分: 远程代理 虚拟代理 安全代理 智能索引
相关文章推荐
- JAVA的23种设计模式---代理模式(一)
- java_23种设计模式之代理模式
- Java23种设计模式案例:代理模式(Proxy)
- java 23种常用设计模式之代理模式(Proxy)
- Java 23种设计模式之代理模式
- java23种设计模式 代理模式(五)
- java23种设计模式之代理模式
- Java经典23种设计模式之结构型模式(三)------附代理模式、适配器模式、外观模式区别
- Java开发中的23种设计模式之八:代理模式(Proxy)
- 走穿java23种设计模式-6代理模式
- 重学java23种设计模式(12)代理模式
- java23种设计模式--代理模式(proxy)
- Java23种设计模式之-----代理模式
- Java23种设计模式——代理模式
- Java23种设计模式详解1——代理模式
- Java开发中的23种设计模式详解----代理模式(Proxy)
- 【结构型模式】代理模式(Proxy)之23种java设计模式
- JAVA的23种设计模式---代理模式(二)
- Java基础 - 类的加载,类加载器,反射,动态代理,模板设计模式,JDK5新特性,枚举(类),JDK1.7新特性
- Java开发中的23种设计模式详解(转)