出自网友:cbf4life (JAVAEYE论坛)
策略模式与代理模式
1. 代理模式(proxy)------ 属于结构型模式(描述对象如何通过继承或组合形成复杂的结构)
西门庆通过王婆这个代理,与潘金莲私通;
(1) 在这里,西门庆属于客户,提出需求;
(2) 王婆是代理人,相当于现在明星的经纪人,把客户的需求交给潘金莲,让潘金莲去做;
注意: 客户不管是谁做的,只管自己的需求是否满足;王婆把潘金莲联系好,当然,她也还可以去联系别的女人,做多人的经纪人;
2. 策略模式(消除开关语句Switch的好模式) )------ 属于行为型模式 (行为模式不仅描述对象的模式,还描述它们之间的通信关系和职责分配)
作者举的例子:
刘备要取媳妇,诸葛亮拿出装了三个妙计的锦囊给赵云,赵云依计行事,让周瑜丢了夫人又折兵;
场景: 三个妙计, 一个锦囊, 赵云
注意:这里每个妙计是一个具体类,三个妙计抽象出一个公共接口,锦囊是一个含有妙计的公共接口的具体类;赵云是执行者;