时间:2021-05-20
Java设计模式的中介者模式是行为模式之一。定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显式地相互引用,从而使其耦合性松散,并且可以独立地改变他们之间的交互。
如下图所示:
生产者、消费者、代理商之间的中介模式实例:
public abstract class PersonColleague{ protected Mediator mediator; public Mediator getMediator() { return mediator; } public void setMediator(final Mediator mediator) { this.mediator = mediator; } protected abstract void message(String context);}public class Mediator{ private PersonColleague consumer = null; private ProducerColleague producer = null; public ProducerColleague getProducer() { return producer; } public void setProducer(final ProducerColleague producer) { this.producer = producer; } public PersonColleague getConsumer() { return consumer; } public void setConsumer(final PersonColleague consumer) { this.consumer = consumer; } public Mediator() { } public synchronized void message(final String context) { if (consumer != null) { System.out.println(context); } else if (producer != null) { System.out.println(context); } }}public class ConsumerColleague extends PersonColleague{ public ConsumerColleague(final Mediator mediator) { this.mediator = mediator; } @Override protected void message(final String context) { this.mediator.setConsumer(this); this.mediator.message("hello! i am a consumer"); }}public class ProducerColleague extends PersonColleague{ public ProducerColleague(final Mediator mediator) { this.mediator = mediator; } @Override protected void message(final String context) { this.mediator.setProducer(this); this.mediator.message(context); }}public class Client{ public static void main(final String[] args) { final Mediator mediator = new Mediator(); final PersonColleague person = new ConsumerColleague(mediator); final PersonColleague person1 = new ProducerColleague(mediator); person.message("I am a consumer"); person1.message("I am a producer"); }}运行结果:
hello! i am a consumerI am a producer声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Mediator定义:用一个中介对象来封装一系列关于对象交互行为。为何使用Mediator模式/中介模式各个对象之间的交互操作非常多,每个对象的行为操作都依赖彼
本文实例讲述了Python设计模式之中介模式。分享给大家供大家参考,具体如下:MediatorPattern:中介模式中介模式提供了一系列统一的系统接口。此模式
介绍中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互
23种设计模式第二十篇:java中介者模式定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们
本文实例讲述了php设计模式之中介者模式。分享给大家供大家参考,具体如下:星际的升级系统做得比较平衡,不过由于不少兵种和建筑的制造都需要有相关的科技建筑,所以关