欢迎来到天天文库
浏览记录
ID:40199694
大小:124.00 KB
页数:6页
时间:2019-07-25
《java设计模式之——代理模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、java设计模式之——代理模式1,什么是代理模式?代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 2,策略模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 3,代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。真实角色:代理角色所代表的真实对
2、象,是我们最终要引用的对象。 4,应用场景举例: 比如西门庆找潘金莲,那潘金莲不好意思答复呀,咋办,找那个王婆做代理,表现在程序上时是这样的体现的先说说这个场景中的要素:一种类型的女人,潘金莲,王婆,西门庆,后来扩展的贾氏也和西门庆勾上了,我们是假设的,然后西门庆找潘金莲happy,但潘金莲不好意思直接,就找个王婆代理呗。我们看看具体代码。 先定义一种女人Java代码 1.package com.yangguangfu.proxy; 2./** 3. * 4. * @author 阿福(trygf521@126.com) 5. *定义一种类型的女人,王婆和潘金莲都
3、属于这个类型的女人 6. */ 7.public interface KindWoman { 8. 9. //这种女人能做什么事情呢? 10. public void makeEyesWithMan();//抛媚眼 11. 12. public void happyWithMan();//和男人那个.... 13. 14.} packagecom.yangguangfu.proxy;/****@author阿福(trygf521@126.com)*定义一种类型的女人,王婆和潘金莲都属于这个类型的女人*/publicin
4、terfaceKindWoman{//这种女人能做什么事情呢?publicvoidmakeEyesWithMan();//抛媚眼publicvoidhappyWithMan();//和男人那个....} 一种类型嘛,那肯定是接口,定义个潘金莲Java代码 1.package com.yangguangfu.proxy; 2./** 3. * 4. * @author 阿福(trygf521@126.com) 5. *定义一个潘金莲是什么样的人 6. */ 7.public class PanJinLian implements KindWoman{ 8. 9
5、. @Override 10. public void happyWithMan() { 11. System.out.println("潘金莲和男人在做那个..."); 12. 13. } 14. 15. @Override 16. public void makeEyesWithMan() { 17. System.out.println("潘金莲抛媚眼..."); 18. 19. } 1. 2.} packagecom.yangguangfu.prox
6、y;/****@author阿福(trygf521@126.com)*定义一个潘金莲是什么样的人*/publicclassPanJinLianimplementsKindWoman{@OverridepublicvoidhappyWithMan(){System.out.println("潘金莲和男人在做那个...");}@OverridepublicvoidmakeEyesWithMan(){System.out.println("潘金莲抛媚眼...");}} 再定义个丑陋的王婆Java代码 1.package com.yangguangfu.proxy; 2./*
7、* 3. * 4. * @author 阿福(trygf521@126.com) 5. *王婆这个人老聪明了,她太老了,是个男人都看不上她, 6. *但是她有智慧经验呀,他作为一类女人的代理! 7. */ 8.public class WangPo implements KindWoman { 9. 10. private KindWoman kindWoman; 11. 12. public WangPo(){ 13. //默
此文档下载收益归作者所有