两个类 一个是主播 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设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...
### Java设计模式详解 在软件开发领域,设计模式是一种被广泛采用的解决方案,用来解决常见的设计问题。设计模式不仅能够帮助开发者写出可复用、可维护的代码,还能提高团队间的沟通效率。以下是对给定文件中提到的...
" JAVA 设计模式概述" JAVA 设计模式是指在软件设计过程中,为了提高代码的可维护性、灵活性和可扩展性所使用的一些惯用解决方案。JAVA 设计模式可以分为三种:创建模式、结构模式和行为模式。 1. 创建模式 创建...
Java设计模式是软件开发中的一种最佳实践,它总结了在解决特定问题时程序员们经常采用的有效方法。这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的...
这是JAVA设计模式中属于行为模式的部分,包括Template(模板模式)、Chain of Responsibility(责任链模式)、Memento(纪念品模式)、Mediator(中介模式)、Strategy(策略模式)、State 、Observer(观察者模式)、Visitor...
Java设计模式尤其重要,因为Java是广泛应用的开发语言,尤其在企业级应用中占据主导地位。本资源“Java设计模式代码,设计模式系列所有示例代码”为学习者提供了实际操作设计模式的宝贵机会,使理论与实践相结合,...
### Java设计模式(第二版)中文版 #### 思维框架的培养;对新手与码农均适用 在软件开发领域,设计模式是一种被广泛采用的解决方案,它可以帮助开发者更好地组织代码、解决常见问题,并提高软件的整体质量和可维护...
《java设计模式(第2版)》通过一个完整的java项目对经典著作design patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个...
**Java设计模式之中介模式(Mediator模式)介绍** 中介模式是一种行为设计模式,它旨在减少多个对象之间的直接通信,从而降低系统复杂性。在Java中,Mediator模式通过引入一个中介对象,使得原本直接相互依赖的对象...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的经验总结和最佳实践。本资源包含了23种经典的设计模式,这些模式在Java编程中具有广泛的适用性,能够帮助开发者写出更加灵活、可维护和可...
在Java编程中,有23种经典的GoF(Gang of Four)设计模式,它们被分为三大类:创建型、结构型和行为型。本资源集合了这些模式的详细解释与源码分析,旨在帮助开发者深入理解和应用设计模式。 1. 创建型模式...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的模板或最佳实践。GOF设计模式,全称为GoF(Gang of Four)设计模式,源自Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位...
在编程领域,设计模式是解决常见问题的经过验证的、可重用的解决方案。它们是经验丰富的软件开发人员智慧的结晶,旨在提高代码的可读性、可维护性和...现在就打开“设计模式Java版”的压缩包,开始你的设计模式之旅吧!
### Java设计模式与原理 #### 一、概述 在软件工程领域,设计模式是指在特定情境下解决软件设计问题的最佳实践。《Java 设计模式与原理》这本书被誉为Java程序员的必备指南之一,它深入浅出地讲解了23种经典的设计...
Java设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,旨在提高代码的可重用性、可维护性和灵活性。本资源“23种JAVA设计模式经典(推荐必读)”深入探讨了这23个设计模式,它们被视为后台...
根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...
### 知识点二:Java设计模式的种类 根据提供的部分内容,可以看出本书涉及到多种设计模式,其中包含但不限于: 1. **策略模式(StrategyPattern)**:定义一系列算法,将每个算法封装起来,并使它们可相互替换。...