`

Java设计模式之Mediator模式

阅读更多

两个类 一个是主播 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();
 }

}

分享到:
评论

相关推荐

    JAVA设计模式chm文档

    创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) 结构模式: ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor

    Java设计模式之禅

    《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...

    java设计模式ppt

    ### Java设计模式详解 在软件开发领域,设计模式是一种被广泛采用的解决方案,用来解决常见的设计问题。设计模式不仅能够帮助开发者写出可复用、可维护的代码,还能提高团队间的沟通效率。以下是对给定文件中提到的...

    23种java设计模式.pdf

    " JAVA 设计模式概述" JAVA 设计模式是指在软件设计过程中,为了提高代码的可维护性、灵活性和可扩展性所使用的一些惯用解决方案。JAVA 设计模式可以分为三种:创建模式、结构模式和行为模式。 1. 创建模式 创建...

    JAVA设计模式-chm版

    Java设计模式是软件开发中的一种最佳实践,它总结了在解决特定问题时程序员们经常采用的有效方法。这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的...

    JAVA设计模式之行为模式

    这是JAVA设计模式中属于行为模式的部分,包括Template(模板模式)、Chain of Responsibility(责任链模式)、Memento(纪念品模式)、Mediator(中介模式)、Strategy(策略模式)、State 、Observer(观察者模式)、Visitor...

    Java设计模式代码,设计模式系列所有示例代码

    Java设计模式尤其重要,因为Java是广泛应用的开发语言,尤其在企业级应用中占据主导地位。本资源“Java设计模式代码,设计模式系列所有示例代码”为学习者提供了实际操作设计模式的宝贵机会,使理论与实践相结合,...

    Java设计模式(第二版)中文版

    ### Java设计模式(第二版)中文版 #### 思维框架的培养;对新手与码农均适用 在软件开发领域,设计模式是一种被广泛采用的解决方案,它可以帮助开发者更好地组织代码、解决常见问题,并提高软件的整体质量和可维护...

    [Java设计模式(第2版)(Design.Patterns.in.Java).John.Metsker

    《java设计模式(第2版)》通过一个完整的java项目对经典著作design patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个...

    Java设计模式之中介模式(Mediator模式)介绍

    **Java设计模式之中介模式(Mediator模式)介绍** 中介模式是一种行为设计模式,它旨在减少多个对象之间的直接通信,从而降低系统复杂性。在Java中,Mediator模式通过引入一个中介对象,使得原本直接相互依赖的对象...

    Java设计模式 23种设计模式

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的经验总结和最佳实践。本资源包含了23种经典的设计模式,这些模式在Java编程中具有广泛的适用性,能够帮助开发者写出更加灵活、可维护和可...

    java23种设计模式详解+源码(绝对详解)

    在Java编程中,有23种经典的GoF(Gang of Four)设计模式,它们被分为三大类:创建型、结构型和行为型。本资源集合了这些模式的详细解释与源码分析,旨在帮助开发者深入理解和应用设计模式。 1. 创建型模式...

    java设计模式代码

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的模板或最佳实践。GOF设计模式,全称为GoF(Gang of Four)设计模式,源自Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位...

    Java版设计模式教程

    在编程领域,设计模式是解决常见问题的经过验证的、可重用的解决方案。它们是经验丰富的软件开发人员智慧的结晶,旨在提高代码的可读性、可维护性和...现在就打开“设计模式Java版”的压缩包,开始你的设计模式之旅吧!

    Java 设计模式与原理

    ### Java设计模式与原理 #### 一、概述 在软件工程领域,设计模式是指在特定情境下解决软件设计问题的最佳实践。《Java 设计模式与原理》这本书被誉为Java程序员的必备指南之一,它深入浅出地讲解了23种经典的设计...

    23种JAVA设计模式经典(推荐必读).pdf

    Java设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,旨在提高代码的可重用性、可维护性和灵活性。本资源“23种JAVA设计模式经典(推荐必读)”深入探讨了这23个设计模式,它们被视为后台...

    java设计模式---诙谐易懂版

    根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...

    Java设计模式经典搞笑珍藏

    ### 知识点二:Java设计模式的种类 根据提供的部分内容,可以看出本书涉及到多种设计模式,其中包含但不限于: 1. **策略模式(StrategyPattern)**:定义一系列算法,将每个算法封装起来,并使它们可相互替换。...

Global site tag (gtag.js) - Google Analytics