王学岗代理模式
来源:互联网 发布:怎么安装mac os x 编辑:程序博客网 时间:2024/06/06 10:38
代理模式定义:为其他对象提供一种代理,控制对这个对象的访问
代理模式角色:
Proxy:代理对象,实现目标接口并且持有目标接口的引用
Subject:目标接口
RealSubject:具体的目标对象
举个例子,苹果发布会,我想买一台iphone,行货比较贵,港货比较便宜,大陆买不到港货,我人在杭州,找一个代理商,我告诉他我要的手机型号,让代理商帮我买;
我们分析下角色:
代理商就是Proxy(代理对象)
Subject(目标接口):我的想法,具体操作,场景业务,一个人
RealSubject(具体的目标对象):我
下面我写下这个简单的例子
看下目标借口(人)代码
public interface IPerson {/** * 目标接口:人 */ //购物 public void buyProduct(); //支付 public void payProduct();}
具体的人的代码
/** * 具体的目标对象 * * @author acer * */public class ConcretePerson implements IPerson { public void buyProduct() { System.out.println("我要买港货iphone"); } public void payProduct() { System.out.println("支付6000"); }}
代理类的代码
/** * Proxy:代理对象 * */public class Proxy implements IPerson { // 持有目标对象的引用,代理商总要知道他给谁代理 private IPerson person; public Proxy(IPerson person) { this.person = person; } public void buyProduct() { person.buyProduct(); } public void payProduct() { person.payProduct(); }}
然后看下我们的main方法
public class Client { public static void main(String[] args) { ConcretePerson person=new ConcretePerson(); Proxy proxy=new Proxy(person); proxy.buyProduct(); proxy.payProduct(); }}
看下打印输出
我要买港货iphone
支付6000
-
看下统一建模图
从上面的图中可以看出,代理对象和具体对象处于同一层次,是关联关系,并且是单向关联。
阅读全文
0 0
- 王学岗代理模式
- 代理模式--动态代理
- 代理模式-静态代理
- 代理模式-静态代理
- 代理模式 & 动态代理
- 代理模式--静态代理
- 代理模式--动态代理
- 代理模式(动态代理)
- 代理模式-动态代理
- 代理模式-动态代理
- 代理模式动态代理
- 代理模式-静态代理
- 代理模式-动态代理
- 代理模式 -动态代理
- 代理模式---动态代理
- 代理模式-动态代理
- 代理模式--静态代理
- 代理模式!
- 字符串搜索函数应用
- C语言与指针学习笔记
- 剑指offer每日一刷-2017年11月12日
- MySQL install
- 朴素贝叶斯的python代码实现
- 王学岗代理模式
- Android 简单断点续传|下载到本地
- HDOJ 1393 Weird Clock
- final
- 嵌入式c语言高级编程技巧 之 结构体的对象思维。
- 设计模式——观察者模式
- CSS盒子模型+浮动qing'chu+字体+背景
- Java 多线程核心技术梳理(附源码)
- 数据预处理总结