中介模式
2021-01-19 00:22:32   45  举报             
     
         
 中介模式
    作者其他创作
 大纲/内容
 ConcreteMediator
  - colleagues : List<Colleague>+ register(Colleague colleague):void+ relay(Colleague cl) : void{       for (Colleague ob : colleagues) {            if (!ob.equals(cl)) {                ((Colleague) ob).receive();            }        }}
  Client
  + main(): void{   Mediator md = new ConcreteMediator();   Colleague  c1 = new ConcreteColleague1();   Colleague  c2 = new ConcreteColleague2();   md.register(c1);   md.register(c2);   c1.send();   c2.send();}
    Mediator
  + register(Colleague colleague):void+ relay(Colleague cl) : void
  Colleague
  # mediator : Mediator+ setMediator(Mediator mediator) : void+ receive() : void+ send() : void
  ConcreteColleague1
  +receive() : void+ send() : void{   mediator.relay(this)}
  ConcreteColleague2
  +receive() : void+ send() : void{   mediator.relay(this)}
  中介者模式包含以下主要角色。1、抽象中介者(Mediator)角色:它是中介者的接口,提供了同事对象注册与转发同事对象信息的抽象方法。2、具体中介者(Concrete Mediator)角色:实现中介者接口,定义一个 List 来管理同事对象,协调各个同事角色之间的交互关系,因此它依赖于同事角色。3、抽象同事类(Colleague)角色:定义同事类的接口,保存中介者对象,提供同事对象交互的抽象方法,实现所有相互影响的同事类的公共功能。4、具体同事类(Concrete Colleague)角色:是抽象同事类的实现者,当需要与其他同事对象交互时,由中介者对象负责后续的交互。
   
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 