iOS设计模式之中介者模式

中介者模式

1、什么是中介者模式

用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。主要是为了降低多个对象与类间的通信复杂性。

在实际应用中,我感觉中介者模式实质上就是起到了一个中转站的作用。我习惯于在需要跳转到多个控制器且有可能会复用的时候,使用中介者模式。这样会减少许多的引用以及跳转的代码。(我并不喜欢在代码中看到许多重复的内容,重复的内容总是令我忍不住想把它抽取出来)

2、中介者模式用在什么地方

  • 多个类互相引用,互相耦合;
  • 引用多个类,且需要复用
  • 逻辑涉及到多个类

如果你要给一个人写一封信的话,那么邮局就是中介者,你引用邮局,让邮局帮你把信送到另外一个人手上。
而邮局并不会只为你一个人服务,所以还有ABCDEFG等人会使用邮局,他们之间会形成一个复杂的网络,如果没有邮局的话,每个人都需要一家家的跑过去。到最后,这个网络将会难以管理。而使用了中介者之后,只需要跑到邮局,而剩下的跑腿的任务交给中介者就行了,只要你能让它知道目的地就行。

3、中介者模式的使用

总的定义:

  1. 在中介者类中引用所有可能用得到的类
  2. 定义一个方法的入口,即是谁操作的中介者以及操作的内容
  3. 执行操作内容

我的使用:
1、在中介者中引用所需的控制器的头文件
2、定义一个变量 Controller 用来保存目前的或者说需要进行跳转的控制器
3、定义一个方法,可以根据文字或者控制器的文件名进行跳转动作
4、使用中介者进行跳转

4、总结

中介者模式属于行为类模式,是为了把某些资源集合到一起,并且把这些资源相关的动作统一到类当中处理。
属于使用简单的一种模式,没涉及到多态、复用等,只是单纯的把动作抽取出来。 (个人理解)

5、demo

暂无,后补

你可能感兴趣的:(iOS设计模式之中介者模式)