两个类 一个是主播 Anchor 一个是嘉宾 Guest 主播说话的时候,嘉宾要停下,嘉宾只能在主播不说话的时候说话。
package action.mediator1;
public class Anchor {
private boolean free;
private Mediator med;
public Anchor(Mediator md){
med=md;
}
public boolean isFree() {
return free;
}
public void setFree(boolean free) {
this.free = free;
}
public void speak() {
med.anchorSpeak();
}
public void stop() {
med.anchorStop();
}
}
package action.mediator1;
public class Guest {
private boolean free;
private Mediator med;
public Guest(Mediator md) {
this.med = md;
}
public boolean isFree() {
return free;
}
public void setFree(boolean free) {
this.free = free;
}
public void speak() {
med.guestSpeak();
}
public void stop() {
med.guestStop();
}
}
package action.mediator1;
public class Mediator {
private Anchor anchor;
private Guest guest;
public void regAnchor(Anchor anchor){
this.anchor=anchor;
}
public void regGuest(Guest guest){
this.guest=guest;
}
public void anchorSpeak(){
if(!guest.isFree()){
guest.stop();
}
System.out.println("Anchor is speaking....");
anchor.setFree(false);
}
public void guestSpeak(){
if(anchor.isFree()){
System.out.println("Guest is speaking....");
guest.setFree(false);
}
else{
System.out.println("Anchor is speaking. Do not interrupt...");
}
}
public void anchorStop(){
System.out.println("Anchor stop speaking now....");
anchor.setFree(true);
}
public void guestStop(){
System.out.println("Guest stop speaking now...");
guest.setFree(true);
}
}
package action.mediator1;
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Mediator med = new Mediator();
Anchor anchor = new Anchor(med);
Guest guest=new Guest(med);
med.regAnchor(anchor);
med.regGuest(guest);
anchor.speak();
guest.speak();
anchor.stop();
guest.speak();
anchor.speak();
}
}
分享到:
相关推荐
创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) 结构模式: ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
这是JAVA设计模式中属于行为模式的部分,包括Template(模板模式)、Chain of Responsibility(责任链模式)、Memento(纪念品模式)、Mediator(中介模式)、Strategy(策略模式)、State 、Observer(观察者模式)、Visitor...
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式(Factory Pattern) 抽象工厂模式...
《java设计模式(第2版)》通过一个完整的java项目对经典著作design patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个...
主要介绍了Java设计模式之中介模式(Mediator模式)介绍,本文讲解了为何使用Mediator模式、如何使用中介模式等内容,需要的朋友可以参考下
AbstractFactory ( 抽象工厂 ) ...Mediator ( 中介者模式 ) Memento ( 备忘录模式 ) Observer ( 观察者模式 ) State ( 状态模式 ) Strategy ( 策略模式 ) TemplateMethod ( 模板方法 ) Visitor ( 访问者模式 )
为了更好的网络共享 本人发布的资源一律免费 如有哪个收费了 请告知! 压缩包 包括常用的几种模式: ...设计模式袖珍版之-Mediator(中介者) 设计模式袖珍版之-Singleton(单态) 设计模式袖珍版之-Visitor
用Java实现23种设计模式 1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern)...
主要介绍了Java设计模式之中介者模式(Mediator Pattern),需要的朋友可以参考下
该案例改编自结城浩《设计模式-java语言中的应用》一书。 This is a program about a login dialog, wich try to illustrate the design pattern of Mediator. The program adapt from the book 《design pattern:...
至于第 14章则很快地浏览尚未介绍的设计模式,包括Bridge、Builder、Chain of Responsibility、Flyweight、Interpreter、Mediator、Memento、Prototype,Visitor。第1章还介绍了四个○○基本概念(抽象、封装、继承、...
至于第14章则很快地浏览尚未介绍的设计模式,包括Bridge、Builder、ChainofResponsibility、Flyweight、Interpreter、Mediator、Memento、Prototype,Visitor。第1章还介绍了四个○○基本概念(抽象、封装、继承、...
23种java版设计模式源码案例.zip 0.目录 创建型模式(creational) 简单工厂(simplefactory) 动态工厂(dynamic) 抽象工厂(abstract) 单例模式(singleton) 建造者模式(builder) 原型模式(prototype) 结构型模式...
3、行为模式:Iterator(迭代模式)、Template(模板模式)、Chain of Responsibility(责任链模式)、Memento(纪念品模式)、 Mediator(中介模式)、Interpreter(解释器模式)、Strategy(策略模式)、State 、Observer...
设计模式之中介模式的完整代码实现,Java版
Java设计模式 (含有相关源码) Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter:将一个类的接口转换成客户希望的另一个接口,使得原来由于接口不兼容而不能...
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...
1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 ...
获取到【文件夹】名称: mediator_pattern 获取到【文件夹】名称: memento_pattern 获取到【文件夹】名称: observer_pattern 获取到【文件夹】名称: prototype_pattern 获取到【文件夹】名称: proxy_pattern...
中介者模式(Mediator Pattern)是一种行为型设计模式,用于减少对象之间的直接相互依赖,使得对象间的交互通过一个中介者对象来进行协调。在中介者模式中,对象之间不再直接相互调用,而是通过中介者对象来传递消息...