中介模式
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 条评论
下一页