gpt4 book ai didi

轻松掌握java中介者模式

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章轻松掌握java中介者模式由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

定义:用来降低多个对象和类之间的通信复杂性。中介者模式属于行为型模式.

特点:

     1、降低了类的复杂度,将一对多转化成了一对一.

    2、各个类之间的解耦.

    3、符合迪米特原则.

企业级开发和常用框架中的应用:mvc模式中的c 。

具体实例:

?
1
2
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
public class Demo {
 
  public static void main(String[] args) {
  Mediator m = new Mediator();
  Department d1 = new Department(m, "开发部" );
  Department d2 = new Department(m, "财务部" );
  Department d3 = new Department(m, "策划部" );
  m.add(d1, "dep" );
  m.add(d2, "fin" );
  m.add(d3, "c" );
  d2.apply( "手里有一个项目需要开发" , "dep" );
  d1.apply( "开发项目需要资金" , "fin" );
  d1.apply( "项目开发完了,需要策划发布" , "c" );
  d3.apply( "发布会需要资金" , "fin" );
  }
}
 
class Department{
 
  private String name;
 
  private Mediator mediator;
 
  public Department(Mediator mediator,String name) {
  this .name = name;
  this .mediator = mediator;
  }
 
  public String getName() {
  return name;
  }
 
  public void setName(String name) {
  this .name = name;
  }
 
  public void apply(String thing,String coordinate){
  System.out.println( "我们是" + this .getName()+ "," +thing+ ",需要帮助" );
  mediator.dispatch( this , thing, coordinate);
  }
 
  public void handle(String name,String thing){
  System.out.println( "我们是" + this .getName()+ "," +name+ "需要我们的帮助,我们马上处理他们的事情" );
  System.out.println( "*******************************************" );
  }
}
/**
  *中介者对象,持有所有同事对象,负责调度各部门协调工作
  */
class Mediator{
  private String name;
 
  private Map<String, Department> map = new HashMap<String, Department>();
 
  public void add(Department d,String name){
  this .map.put(name, d);
  }
 
  public void dispatch(Department dpt,String thing,String coordinate){
  Department d = map.get(coordinate);
  d.handle(dpt.getName(),thing);
  }
}

中介者模式和代理模式的区别:初一听这两个模式的模式感觉这两个模式好像是一个模式,但是这两个模式却完全不同,代理模式主要用于隐藏实际对象,不让别人知道具体的操作细节,而中介者模式则主要用户多对象多对多的复杂交互,为了简化这些交互,才有了终结者模式.

最后此篇关于轻松掌握java中介者模式的文章就讲到这里了,如果你想了解更多关于轻松掌握java中介者模式的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com