简易的设计模式——代理模式
2015-04-18 14:54
176 查看
定义
为其他对象提供一种代理以控制对这个对象的访问。几种角色
Subject抽象主题角色:定义业务的接口或者抽象类。RealSubject具体主题角色:实现业务的具体角色,也是被代理的对象。
Proxy代理主题角色:代理类,负责对真实角色的应用。
代码实现
抽象主题角色 Subject.javapublic interface Subject { //定义一个方法 public void request(); }
具体主题角色 RealSubject.java
public class RealSubject implements Subject { @Override public void request() { System.out.println("我在实现业务"); } }
代理主题角色 Proxy.java
public class Proxy implements Subject { private Subject subject; public Proxy(){ this.subject = new Proxy(); } public Proxy(Subject subject ){ this.subject = subject; } @Override public void request() { this.before(); this.subject.request(); this.after(); } public void before(){ //do something } public void after(){ //do something else } }
代理模式的优点
职责清晰:真实的角色只用实现实际的业务逻辑,而不关心其他的事情。高扩展性:具体角色的业务是随时都会发生变化的,只要它实现了接口,代理可以不做任何变化继续使用。
相关文章推荐
- 【设计模式】代理模式详解
- iOS 代理设计模式
- 设计模式之代理模式学习
- JAVA设计模式之代理模式
- 设计模式之代理模式浅析
- 23种设计模式之代理模式2
- 简介Python设计模式中的代理模式与模板方法模式编程
- 设计模式C++实现(8)——代理模式
- 设计模式之代理模式简介
- 设计模式--代理模式
- 你真的了解iOS代理设计模式吗?
- [转]转个经典的帖子:说故事学设计模式之-Java静态代理模式
- 设计模式之 代理模式
- 设计模式C++实现(8)——代理模式
- 设计模式_代理模式
- iOS---代理设计模式
- 设计模式(一) 静态代理
- 设计模式之 代理模式
- 【设计模式】学习笔记17:代理模式之保护代理与Java反射
- 设计模式——代理模式