PHP设计模式中介(中介模式)

复制代码代码如下所示:
< PHP
/ * *
*中介者模式
*
*与中介对象封装一系列对象交互,以便每个对象不需要显式地引用彼此,使它们松散耦合,并独立地改变它们的交互。
* /
抽象类介质
{
抽象公共函数发送($消息,$同事);
}
抽象类的同事
{
私人_mediator美元= null;
公共职能同事(调解员)
{
美元-> _mediator = $介质;
}
公共函数发送($消息)
{
这_mediator美元-> ->发送(美元的消息,美元);
}
抽象公共函数通知($消息);
}
类具体调停者延伸中介
{
私人_colleague1美元= null;
私人_colleague2美元= null;
公共函数发送($消息,$同事)
{
如果($同事=美元-> _colleague1)
{
这_colleague1美元-> ->通知($消息);
{人}
这_colleague2美元-> ->通知($消息);
}
}
公共函数集(合男、女美元)
{
美元-> _colleague1 = $男;
美元-> _colleague2 = $女;
}
}
扩展类男同事
{
公共函数通知($消息)
{
回声男消息:。$消息。;
}
}
扩展类女同事
{
公共函数通知($消息)
{
回声女的消息是:。$消息。;
}
}

objmediator美元=新的具体中介者();
objc1美元=新的男(objmediator美元);
objc2美元=新女($ objmediator);
objmediator美元->设置(objc1美元,美元objc2);
objc1美元->发送(C2 C1 );
objc2美元->发送(C1与C2 );