描述
用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用
 UML

 示例
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 
 | interface Mediator{public void createMediator();
 public void workAll();
 }
 abstract class User {
 private Mediator mediator;
 public Mediator getMediator(){
 return mediator;
 }
 public User(Mediator mediator) {
 this.mediator = mediator;
 }
 public abstract void work();
 }
 class User1 extends User {
 public User1(Mediator mediator){
 super(mediator);
 }
 @Override
 public void work() {
 Test.printMsg("user1 exe!");
 }
 }
 class User2 extends User {
 public User2(Mediator mediator){
 super(mediator);
 }
 @Override
 public void work() {
 Test.printMsg("user2 exe!");
 }
 }
 class MyMediator implements Mediator {
 private User user1;
 private User user2;
 public User getUser1() {
 return user1;
 }
 public User getUser2() {
 return user2;
 }
 @Override
 public void createMediator() {
 user1 = new User1(this);
 user2 = new User2(this);
 }
 @Override
 public void workAll() {
 user1.work();
 user2.work();
 }
 }
 
 public class Test {
 public static void printMsg(String msg){
 System.out.println(msg);
 }
 public static void main(String[] args){
 Mediator mediator = new MyMediator();
 mediator.createMediator();
 mediator.workAll();
 }
 }
 
 |