手机
当前位置:查字典教程网 >编程开发 >Java >Java设计模式之中介者模式(Mediator Pattern)简介
Java设计模式之中介者模式(Mediator Pattern)简介
摘要:Java设计模式的中介者模式是行为模式之一。定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显式地相互引用,从而使其耦合性松...

Java设计模式的中介者模式是行为模式之一。定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显式地相互引用,从而使其耦合性松散,并且可以独立地改变他们之间的交互。

如下图所示:

Java设计模式之中介者模式(Mediator Pattern)简介1

生产者、消费者、代理商之间的中介模式实例:

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 consumer I am a producer

【Java设计模式之中介者模式(Mediator Pattern)简介】相关文章:

java页面设计之事件处理综合介绍

java中使用DES加密解密实例

Java读取Excel文件内容的简单实例

代理角色java设计模式之静态代理详细介绍

JAVA实现多线程的两种方法实例分享

java线程并发semaphore类示例

Java设计模式之Iterator模式介绍

Java调用DOS实现定时关机的实例

java多线程编程之java线程简介

使用java获取md5值的两种方法

精品推荐
分类导航