中介者模式

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 }

 

posted @ 2019-01-06 23:41  逢春  阅读(117)  评论(0编辑  收藏  举报