Mediator(调停人) 模式也是用来把某种策略施加到另一组对象上,不同与Facade 模式的是,它采用隐蔽的方式去施加策略。外部在感受到这个变化的同时,觉察不到实现上的修改。Mediator 对用户是隐藏的。
比如实现文本输入高亮显示程序。
Facade 模式实现:
public class HighLightText extends JText
{
... //Code to make input high light
}
用户仅需要使用类HighLightText 就可实现高亮
Mediator 模式实现:
public class HighLight
{
JText text;
...//Code
text.addListener(){... //high light code};
public HighLight(JText j){}
}
public class Test
{
public static void main(String[] args)
{
JText j = new JText();
HighLight hl = new HighLight();//
}
}