中介者?这个名字没完全表达本身的含义,这个应该是调停者或者叫仲裁者,都比中介者强。
啥个意思?就是多个对象相互影响,为了好控制,好管理,把交互的逻辑全部交到仲裁者那去做,这就是
mediator的中心思想。
再举那个BT的VADialg为例,涉及到太多的交互了,换一个list导致界面很多元素都得换,所以到处都是修改修改修改....
如果采用仲裁者方法,很多东西就可以在一处地方修改了。
从实现角度看,创建控件可以也放到仲裁者那里去做,采用abstract factory方式,这样不同的mediator直接就给搞出来了,具爽快。
另外,当一个控件发生了事件后,应该告知仲裁者,这就有两种方式,一种是observer方式,另一种是直接调用仲裁者的某个函数通知。
有派生关系吗?OO强调的是对象的交互,而不是对象的行为。
恩,当多个对象交互复杂的时候,完全可交给mediator来做。good!!!