好贷网好贷款

五、代理模式

发布时间:2016-12-5 20:41:35 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"五、代理模式",主要涉及到五、代理模式方面的内容,对于五、代理模式感兴趣的同学可以参考一下。

 羞涩男孩八戒喜欢上了邻家女孩嫦娥,由于天性腼腆、不善言辞、性格怯懦等等优良品质的干扰,不敢去当面表 达爱意,于是请自己最好的朋友三藏代为赠送礼物,以牵线搭桥。————这就是代理模式  代理模式:为其它对象提供一种代理以控制对这个对象的访问。  基本结构如下:  ①、公用方法接口(八戒、三藏都有的行为)  方法甲  方法乙  ②、原型,实现“公用方法接口”(八戒)  方法甲的具体实现  方法乙的具体实现  ③、代理,实现“公用方法接口”,实现在某些功能上替代“原型”(三藏)  “原型”的引用ob  方法甲的具体实现(其中含有ob.方法甲)  方法乙的具体实现(其中含有ob.方法乙)  ④、目标(嫦娥)  一些属性  ⑤、调用者  new出目标  代理在一定程度上替换原型  代理调用改进后的原型方法  示例代码:模拟八戒嫦娥的狗血爱情故事  ①、公用方法接口######################################### /** * 赠送礼物接口 */ public interface GiveGift { public void giveFlowers(); //送花 public void giveDolls(); //送洋娃娃 public void giveChocolate(); //送巧克力 }  ②、原型######################################### /** * 男孩,求爱者 */ public class Boy implements GiveGift{ private Girl girl; //思念的女孩 public Boy(Girl girl){ this.girl = girl; } @Override public void giveChocolate() { System.out.println(girl.getName()+",送你巧克力"); } @Override public void giveDolls() { System.out.println(girl.getName()+",送你洋娃娃"); } @Override public void giveFlowers() { System.out.println(girl.getName()+",送你鲜花"); } }  ③、代理######################################### /** * 代理,男孩的朋友,代替羞涩的男孩向女孩表达爱意 */ public class Proxy implements GiveGift { private Boy boy; //男孩的引用 public Proxy(Girl girl){ boy = new Boy(girl); } @Override public void giveChocolate() { //替男孩送巧克力 //此处可植入代码 boy.giveChocolate(); //此处可植入代码 } @Override public void giveDolls() { //替男孩送洋娃娃 //此处可植入代码 boy.giveDolls(); //此处可植入代码 } @Override public void giveFlowers() { //替男孩送花 //此处可植入代码 boy.giveFlowers(); //此处可植入代码 } } ④、目标######################################### /** * 女孩,被追求者 */ public class Girl { private String name; //姓名 //构造函数初始化女孩姓名 public Girl(String name){ this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } }  ⑤、调用者######################################### public class Test { public static void main(String[] args) throws Exception { Girl mm = new Girl("小娥"); Proxy ming = new Proxy(mm); //代理人三藏 ming.giveFlowers(); ming.giveDolls(); ming.giveChocolate(); } }  Ps:最后三藏和嫦娥在一起了,祝他们幸福,阿门

上一篇:shp文件的读取
下一篇:oracle 常用

相关文章

关键词: 五、代理模式

相关评论