中介者模式是设计模式中一个比较常用的模式,他的原理比较简单,其实就是,把各个组件(对象)之间的复杂交互通讯通过其中的一个”中介者”来处理.
//拿一个男人与女人通过媒人约会的例子来实现这种设计模式...:)哈哈.这就是“通俗模式“ 【程序编程相关:shell学习1-文件安全与权限】
中介者(midiator)模式通过提供一种松耦合的方式,解决对个对象之间复杂的交换问题..在这种模式中,只有一个类彻底清楚其他类的方法,当类发生变化时,他们会通知中介者,在由中介者将改变通知其他相关的类(对象/组件). 【推荐阅读:dfm格式转换: 将二进制格式转为文本格】
a)男方如果想与女方约会,男方 【扩展信息:脚本技术的极致】
1.明确,男人与女人如果约会,假设男方提出约会(女方提出过程类似).如果没有媒人,该过程如下:
b)首先请示自己的父母(^_^,假设是封建家庭哦...),
c)然后通知女方
d)女方需要请示女方父母.是否同意约会.
弊端:需要男方交换的对象太多,且关系复杂,当随着男女之间的交往的复杂,会涉及到更多复杂的交换,双方父母的交换也很更复杂,使得四个对象(男,女,男方家长,女方家长)关系复杂.难以控制.
模式改进:采取媒人做“中介者“-模式,将变得简单:,其中无论那一个人有什么要求,请求,只需要告诉“媒人“,至于该请求需要告诉谁,与谁交换,只有媒人知道,
//模拟代码类如下:&&&&&&:))
package meditator;
/**
* <p>title: 男人类</p> * <p>description: </p> * <p>copyright: copyright (c) 2004</p> * <p>company: 乐开工作室</p> * @author 陈少坤 * @version 1.0 */public class man {
private matchmaker mat; // 媒人public man(matchmaker mat) {
this.mat=mat; mat.registeman(this);//把自己在媒人那里注册(声明) } public static void main(string[] args) {}
/**
*考虑是否同意 * @return */ public boolean thinking(string says) {... 下一页