中介者模式
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 }
以上是关于中介者模式的主要内容,如果未能解决你的问题,请参考以下文章