中介者模式

Posted linbq1911

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中介者模式相关的知识,希望对你有一定的参考价值。

1.定义:定义一个封装一组对象如何交互的对象;
      通过使对象明确地相互引用来促进松散耦合,并允许独立地改变

2.类型:行为型

3.适用场景:系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解;
        交互的公共行为,如果需要改变行为则可以增加新的中介者类
4.优点:将一对多转化成对了一对一、降低程度复杂度;类之间解耦。

5.缺点:中介者过多,导致系统复杂

6.相关设计模式:观察者模式

7.实例目录package

技术分享图片

8.实例UML类图

技术分享图片

9.代码

 1 package com.geely.design.pattern.behavioral.mediator;
 2 
 3 public class User {
 4     private String name;
 5 
 6     public String getName(){
 7         return name;
 8     }
 9 
10     public void setName(String name){
11         this.name = name;
12     }
13 
14     public User(String name) {
15         this.name = name;
16     }
17     public void sendMessage(String message){
18         StudyGroup.showMessage(this,message);
19     }
20 }
 1 package com.geely.design.pattern.behavioral.mediator;
 2 
 3 import java.util.Date;
 4 
 5 public class StudyGroup {
 6     public static void showMessage(User user, String message){
 7         System.out.println(new Date().toString() 
 8                 + " [" + user.getName() + "] : " + message);
 9     }
10 }
 1 package com.geely.design.pattern.behavioral.mediator;
 2 
 3 public class Test {
 4     public static void main(String[] args) {
 5         User geely = new User("Geely");
 6         User tom = new User("Tom");
 7 
 8         geely.sendMessage(" Hey! Tom! Let‘s learn Design Pattern");
 9         tom.sendMessage("OK! Geely");
10     }
11 }

 




以上是关于中介者模式的主要内容,如果未能解决你的问题,请参考以下文章

(十九)中介者模式-代码实现

设计模式之中介者模式

20160227.CCPP体系详解(0037天)

设计模式----中介者模式及简单总结(2018/10/30)

中介者模式分析结构图及基本代码

设计模式之中介者模式