GoF设计模式学习笔记 第一回 Mediator

来源:互联网 发布:网络大电影如何申报 编辑:程序博客网 时间:2024/05/14 09:31

Mediator就是一个起到调节作用的类。

假设有A,B,C,D四个类,每个类都于其他三个类有关系。

这样的话,每当有一个类发生变化时,都会关系到其他的三个类,还要进行相应的测试。

当需要增加一个功能相近的类时,需要的改动就更大了。

如果增加一个Mediator类E,作为中间者,所有其他的类只于类E关联,这样的话,每当有一个类变化时,

只需要在类E中进行相应的更改就可以了。当增加一个类时,也只需要于类E进行关联即可。

面向对象的关键是要尽量减少对象之间的关联。通过Mediator模式,就可以达到这个目的。

Mediator模式看似简单,里面却蕴含着面向对象的一个理念-最大限度减少实体关联。

 

下面通过一个实例来进行进一步的理解

对于求职大家一定都不陌生,而且很多人通过猎头公司找到过工作。

为什么会出现猎头公司呢,实际上猎头公司并不提供工作机会,提供工作机会的是在招聘公司啊。

为什么求职人不直接和公司交涉而通过猎头呢?

1.找到合适人选会分担公司的精力。

2.对于求职者来说找到适合自己的公司不能挨家登门拜访,就算是上网去找也是要花费一定精力的。

3.猎头掌握了双方需要的大量信息。

这样看猎头公司就相当于Mediator的角色,求职者和招聘公司的需求关系通过猎头公司分析后就会十分清晰。

实例程序