码迷,mamicode.com
首页 > 其他好文 > 详细

中介者模式

时间:2019-01-07 01:38:23      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:关系   let   static   import   test   中介   string   group   iat   

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 }

 

中介者模式

标签:关系   let   static   import   test   中介   string   group   iat   

原文地址:https://www.cnblogs.com/linbq1911/p/10231055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!