设计模式之代理模式
来源:互联网 发布:饿了么送餐软件 编辑:程序博客网 时间:2024/04/28 18:45
定义: 代理模式是结构型模式的一种,为其他对象提供一种代理以控制对这个对象的访问。
角色:
- Proxy:代理角色,类中保存了实际对象的引用,从而可以访问实际对象。
- Subject: RealSubject和Proxy的共用接口,从而在使用实际对象的地方用Proxy代替
- RealSubject:实际对象,Proxy所代表的实体。
示例:
Subject:
package com.xtli.controller.javaDesignPatterns.proxyPattern;/* * Subject角色:Proxy与RealSubject共用的接口 */public interface Object { void action();}
RealSubject:
/* * RealSubject:实际访问的对象 */public class ObjectImpl implements Object { public void action() { System.out.println("========"); System.out.println("========"); System.out.println("这是被代理的类"); System.out.println("========"); System.out.println("========"); }}
Proxy:
package com.xtli.controller.javaDesignPatterns.proxyPattern;/* * Proxy:代理对象,与RealSubject实现共同的接口, * 从而在访问RealSubject时,可以用Proxy代替。 */public class ProxyObject implements Object { Object obj; public ProxyObject(Object obj) { System.out.println("这是代理类"); this.obj = obj; } public void action() { System.out.println("代理开始"); obj.action(); System.out.println("代理结束"); }}
Test:
package com.xtli.controller.javaDesignPatterns.proxyPattern;public class Test { public static void main(String[] args) { Object obj = new ProxyObject(new ObjectImpl()); obj.action(); }}
结果:
代理模式与装饰模式区别:两者乍一看类似,但实际上功能不同,装饰模式是为对象增加功能的,而代理模式的目的是控制对某个对象的访问。
阅读全文
0 0
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之-代理模式
- 设计模式之 代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之-----代理模式
- 设计模式之代理模式
- 设计模式之-代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- Ubuntu命令行模式与图形桌面切换方法
- 随性
- 自由存储区和堆
- 基于组合权重优化的风格中性多因子选股策略_数量化专题之五十七
- 对Giraph的一些理解
- 设计模式之代理模式
- 17/7/29小练习
- getApplicationContext,context,this的区别
- 适配器模式--不要和装饰模式混淆了
- HTML中强调文本的标签:<span>,<em>和<strong>
- virt-install安装虚拟机报错Probing EDD (edd=off to disable)... ok
- android的工程目录及相关知识
- 如何在eclipse中通过Juit进行单元测试
- IoC 容器基本实例