常用设计模式-代理模式
来源:互联网 发布:visio2010软件下载 编辑:程序博客网 时间:2024/05/31 11:04
- 常用设计模式-代理模式
- 代理模式uml类图
- 代理
- 被代理
- 实现统一的接口
- 常用设计模式-代理模式
常用设计模式-代理模式
1.代理模式uml类图
就拿最近比较火的某某wang 事件进行举例。类少直接上代码!
package dailimodel;/** * * 实现简单代理模式必要条件 * * 代理类,被代理类,代理类和被代理实现的统一接口,调用者类 * * 电视台 mangguoTV * * 代理模式,开发中是很常用的设计模式 * * * 优点: 代理模式能够将调用用于真正被调用的对象隔离,在一定程度上降低了系统的耦合度; * * 代理对象在客户端和目标对象之间起到一个中介的作用,这样可以起到对目标对象的保护。代理对象可以在对目标对象发出请求之前进行一个额外的操作,例如权限检查等。 * * 缺点: * * 由于在客户端和真实主题之间增加了一个代理对象,所以会造成请求的处理速度变慢 * * 实现代理类也需要额外的工作,从而增加了系统的实现复杂度。 * * @author weichyang * */public class MangGuoTv { /** * @param args */ public static void main(String[] args) { System.out.println("connection actor wang to make move"); // 代理人送不会 拍电影,但是song 作为wang的代理人 可以代wang 接受。 AgentSong aSong = new AgentSong(); aSong.acting(); // 艺人wang wife want happy,agent song 去帮助 aSong.makeHappy(); }}
2.代理:
package dailimodel;/** * 代理人 song * * @author weichyang * */public class AgentSong implements DayWork { ActorWang actorWang = null; public AgentSong() { actorWang = new ActorWang(); } @Override public void makeHappy() { actorWang.makeHappy(); } @Override public void acting() { actorWang.acting(); }}
3.被代理:
package dailimodel;/** * 艺人 * @author weichyang * */public class ActorWang implements DayWork { @Override public void makeHappy() { System.out.println("with MA happy !!!!"); } @Override public void acting() { System.out.println("make move ba ba qu na!"); }}
4.实现统一的接口:
package dailimodel;/** * 日常工作 * * @author weichyang * */public interface DayWork { void makeHappy(); // you konw that, what is happy? void acting(); // 拍戏}
- http://www.cnblogs.com/bhlsheji/p/5209401.html 代理模式
0 0
- 常用设计模式-代理模式
- 常用设计模式---代理模式
- 常用设计模式总结--代理模式
- 常用的设计模式之代理模式
- Java 常用设计模式-代理模式Proxy
- 设计模式--【代理模式】
- 设计模式:代理模式
- 设计模式--代理模式
- 设计模式---代理模式
- 设计模式-代理模式
- 设计模式---代理模式
- 设计模式 代理模式
- 设计模式-【代理模式】
- 设计模式-代理模式
- 设计模式----代理模式
- 设计模式-代理模式
- 设计模式---代理模式
- 设计模式--代理模式
- 8进制转12进制
- Java Swing实现的仿QQ气泡消息聊天窗口效果
- Java编程中为了性能优化应做到的26件事
- 极光推送实现锁屏推送以及推送给指定的人
- 《组合变身小宠物游戏》PlayerPetItem(修改更新中)【初学者】
- 常用设计模式-代理模式
- vr视频六面体变换
- 解码器进帧出帧顺序
- input事件--->按键事件的基本实现
- Qt 文件读写操作
- 最新版的c#常用代码
- Python 文件迭代器(2)
- transfer-encoding:chunked的含义
- lscpu命令