java mediator模式_Java Mediator Pattern(中介者模式)
中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。
关键代码:对象 Colleague 之间的通信封装到一个类中单独处理。
优点: 1、降低了类的复杂度,将一对多转化成了一对一。 2、各个类之间的解耦。 3、符合迪米特原则。
缺点:中介者会庞大,变得复杂难以维护。
创建中介类。
/**
* 1. 创建中介类。
* @author mazaiting
*/
public class ChatRoom {
public static void showMessage(User user, String message){
System.out.println();System.out.println(new Date().toString()
+ " [" + user.getName() +"] : " + message);
}
}
创建 User 类。
/**
* 2. 创建 user 类。
* @author mazaiting
*/
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name){
this.name = name;
}
public User(String name) {
this.name = name;
}
/**
* 发送消息
* @param message
*/
public void sendMessage(String message){
ChatRoom.showMessage(this, message);
}
}
使用 User 对象来显示他们之间的通信。
/**
* 3. 使用 User 对象来显示他们之间的通信。
* @author mazaiting
*/
public class Client {
public static void main(String[] args) {
User robert = new User("Robert");
User john = new User("John");
robert.sendMessage("Hi! John!");
john.sendMessage("Hello! Rebort!");
}
}
打印结果
Sun Sep 10 19:56:53 CST 2017 [Robert] : Hi! John!
Sun Sep 10 19:56:53 CST 2017 [John] : Hello! Rebort!
java mediator模式_Java Mediator Pattern(中介者模式)相关推荐
- 图解Java设计模式学习笔记——行为型模式(模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式)
一.模板方法模式(模板模式)--钩子方法 1.需求-豆浆制作问题 编写制作豆浆的程序,说明如下: 制作豆浆的流程选材-->添加配料-->浸泡-->放到豆浆机打碎. 通过添加不同的配料 ...
- Java设计模式之行为型:中介者模式
前言: 在我们的生活中处处充斥着"中介者",比如你租房.买房.找工作.旅游等等可能都需要那些中介者的帮助,地球上国与国之间的关系异常复杂,会因为各种各样的利益关系来结成盟友或者敌 ...
- 8-设计模式之行为型模式二(状态模式、观察者模式、中介者模式)
设计模式之行为型模式二(状态模式.观察者模式.中介者模式) 6.5 状态模式 6.5.1 概述 6.5.2 结构 6.5.3 案例实现 6.5.4 优缺点 6.5.5 使用场景 6.6 观察者模式 6 ...
- java mediator模式_设计模式之中介者模式(mediator模式)
引入中介者模式 中介者模式实例 中介者模式分析 引入中介者模式 大家想象一下有十个人要共同完成一个工作,他们要互相合作和沟通,并且根据对方的通知可能要改变自己的状态,但这通常会带来很多问题,流程过于复 ...
- 【Mediator模式】C++设计模式——中介者模式
中介者模式 一.设计流程探讨 二.模式介绍 三.代码实现 C++设计模式大全,23种设计模式合集详解-
- java 设计模式 示例_Java中的中介器设计模式-示例教程
java 设计模式 示例 中介者模式是行为设计模式之一 ,因此它处理对象的行为. 中介器设计模式用于在系统中不同对象之间提供集中式通信介质. 根据GoF,中介者模式意图是: 通过封装不同对象集相互交互 ...
- java工厂方法_Java设计模式之工厂方法模式
2.工厂方法模式 <设计模式之禅>中用神话故事女娲造人来比概述工厂方法模式. 女娲采集黄土捏成人的形状,然后放到八卦炉中烧制,最后放置到大地上生长,工艺过程是没有错的,但是意外随时都会发生 ...
- java的简单工厂模式_java设计模式之简单工厂模式
简单工厂模式的概念 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例. ...
- 什么java工厂模式_java的三种工厂模式是什么?
java的三种工厂模式:1.简单工厂模式,提供一个创建对象实例的功能,而无须关心其具体实现:2.工厂方法模式:3.抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,无须指定它们具体的类. 一. ...
最新文章
- 小程序点击按钮 关闭小程序
- php用w获取的星期不对,php获取时间是星期几的方法是什么
- jpa 自定义sql if_mybatis仿jpa 使用@createDate @updateDate
- NLP任务增强:通过引入外部知识来提供额外信息
- 【论文分享】ACL 2020 细粒度情感分析方法
- 0031-如何在CDH启用Kerberos的情况下安装及使用Sentry(一)
- HTML5本地存储——IndexedDB二:索引
- openwrt - transmission
- Centos8安装docker及AWVS
- 360来硬拼,云盘免费用了!新注册就能获得36T容量!
- 数据库系统概论笔记三——销售管理子系统E-R图的设计
- 机器学习基础随笔(3)
- Unexpected token o in JSON at position 1 at JSON.parse (anonym)
- 保姆级教程—部署SpringBoot项目至云服务器(华为云)
- 秉火429笔记之十七 SPI--操作FLASH
- 如何用计算机算时间,在win10电脑的计算器中如何进行日期的计算
- win10快速删除文件cmd命令
- TiDB Lightning 故障处理
- __name__属性的作用是什么
- python 实战37 让自己的微信变成计算器