前言
作为一个前端切图仔
,少有和各类设计模式打交道。但这不影响我们学习设计模式的思维,来提升我们的代码水平。
本章通过讲解中介者模式
,希望能够让你对设计模式更一步的学习。
本章学习内容👇
- 认识
中介者模式
- 现实生活中的中介者对象
中介者模式
什么是
中介者模式
?
中介者模式:一种来解决对象间复杂关系而导致网状的交叉引用的模式。
what?
简单来说,在实际情况中,就像我们对象之间时而会保存另外一个对象的引用。而被引用的对象又可能会保存到另外个对象的引用。这样的引用多了以后就会构成一种网状的复杂引用关系。这就导致了,当我们需要改变或删除这个网状结构中一个对象时,很可能就会牵扯到这个结构中许多其他的对象,从而增加了很多工作量。
中介者模式
的作用就是来解除掉这种网状关系。将这种对象与对象之间紧耦合的关系转变成通过一个中介者对象使用,将网状结构的引用关系全部存在中介者对象当中。这样就使得,当我们需要改变结构中一个对象时,只需要通知中介者对象即可。中介者使各对象之间耦合松散,并且使得各个对象之间相互独立起来,将从前的网状结构改变成了简单的一对多关系(所有对象对应找中介者对象)。
现实生活中的中介者对象
在现实生活中也常有中介者模式
的影子,下面举例说明下
简单的中学时期
还记得为什么在中学时候隔壁班上的同学要找人,都会找班长吗?因为每一个同学不会说认识其他班上的所有同学,所以就都通过中介者(班长)进行查询。
机场指挥塔
在飞机航行途中,常需要就近空域的其他飞机的航行情况。但飞机航行途中很难掌握每一只就近航机的情况,所以都是通过中介者
机场指挥塔来协助飞行。机场指挥塔知道所有的飞机的飞行状况,可以安排所有飞机的起降时间,并且能够随时做出航行调整。
\