第十一章 中介者模式.pptVIP

  • 13
  • 0
  • 约5.15千字
  • 约 17页
  • 2016-11-27 发布于河南
  • 举报
第十一章 中介者模式

第十二章 中介者模式 一 、 概述 二、中介者模式的结构与使用 模式的结构的描述与使用 古代相互交战的A,B,C三方,想通过一个中介者调停之间的战火。A方委托调停者转达的信息是:“要求B方归还曾抢夺的100斤土豆,要求C方归还曾抢夺的20头牛”;B方委托调停者转达的信息是:“要求A方归还曾抢夺的10只鸡,要求C方归还曾抢夺的15匹马”;C方委托调停者转达的信息是:“要求A方归还曾抢夺的300斤小麦,要求B方归还曾抢夺的50头驴”。 public void deliverMess(Colleague colleague,String [] mess){ if(colleague==colleagueA){ if(mess.length=2){ colleagueB.receiverMess(colleague.getName()+mess[0]); colleagueC.receiverMess(colleague.getName()+mess[1]); } } else if(colleague==colleagueB){ if(mess.length=2){ colleagueA.receiverMess(colleague.getName()+mess[0]); colleagueC.receiverMess(colleague.getName()+mess[1]); } } else if(colleague==colleagueC){ if(mess.length=2){ colleagueA.receiverMess(colleague.getName()+mess[0]); colleagueB.receiverMess(colleague.getName()+mess[1]); } } } } 三、中介者模式的优点 四、适合使用中介者模式的情景 许多对象以复杂的方式交互,所导致的依赖关系使系统难以理解和维护。 一个对象引用其他很多对象,导致难以复用该对象。 * * * 中介者模式 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 Mediator Pattern Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently. * * 中介者模式是封装一系列的对象交互的成熟模式,其关键是将对象之间的交互封装在称作中介者的对象中,中介者使各对象不需要显示地相互引用,这些对象只包含中介者的引用。当系统中某个对象需要和系统中另外一个对象交互时,只需将自己的请求通知中介者即可。 * * 模式的结构中包括四种角色: 中介者(Mediator) 具体中介者(ConcreteMediator) 同事(Colleague) 具体同事(ConcreteColleague) * * 模式的UML类图 * * 1.同事(Colleague) : Colleague.java public interface Colleague{ public void giveMess(String [] mess); public void receiverMess(String mess); public void setName(String name); public String getName(); } 注:本问题中,只需要一个具体中介者,我们并不需要一个中介者(Mediator)接口 。 * * 2.具体中介者(Mediator) : ConcreteMediator.java public class ConcreteMediator{ ColleagueA colleagueA; ColleagueB colleagueB; Co

文档评论(0)

1亿VIP精品文档

相关文档