目录
可是出租房子的人毕竟很多,哪种房型好租,租什么价格需要了解很多出租情况,而自己要与那么多人交流需要花费很大的时间与精力……所以他们都不约而同地找到了中介,将自己房子出租的信息放到了中介,让中介去和租客交互,自己有什么问题也可以直接找中介问,还能躺着收房租,只需要和中介打交道就可以了。

这就是中介者模式的应用场景。
Mediator 抽象中介者角色
抽象中介者角色定义统一的接口,用于各同事角色之间的通信。
Concrete Mediator 具体中介者角色
具体中介者角色通过协调各同事角色实现协作行为,因此它必须依赖于各个同事角色。
Colleague 同事角色
每一个同事角色都知道中介者角色,而且与其他同事角色通信的时候,一定要通过中介者角色协作。协作分为两种,一种是本身的行为,比如自己状态变化,独立可以完成的行为;另一种是必须依赖中介者才能完成的行为,比如与其他同事角色通信。
Mediator:抽象中介者
LettingAgent:具体的中介者实现
AbstractLessor:抽象的同事类(非必须)
XXXLessor:具体的同事类(多个出租人之间关系对等,类似同事关系)
代码实现
对于中介mediator来说,它指定老赵、老钱、老孙的信息,他们可以通过询问中介来知道自己想知道的事情,不需要单独分别去问另外两人,对象之间的依赖更简单了,中介实现如下:
public abstract class Mediator { protected MrZhaoLessor mrZhaoLessor; protected MrQianLessor mrQianLessor; protected MrSunLessor mrSunLessor; public Mediator(){ this.mrZhaoLessor = new MrZhaoLessor(this); this.mrQianLessor = new MrQianLessor(this); this.mrSunLessor = new MrSunLessor(this); } public MrZhaoLessor getMrZhaoLessor() { return mrZhaoLessor; } public void setMrZhaoLessor(MrZhaoLessor mrZhaoLessor) { this.mrZhaoLessor = mrZhaoLessor; } public MrQianLessor getMrQianLessor() { return mrQianLessor; } public void setMrQianLessor(MrQianLessor mrQianLessor) { this.mrQianLessor = mrQianLessor; } public MrSunLessor getMrSunLessor() { return mrSunLessor; } public void setMrSunLessor(MrSunLessor mrSunLessor) { this.mrSunLessor = mrSunLessor; } public abstract String getZhaoAndQianInfo(); public abstract
关键字:青岛软件培训
可能你正在寻找一家靠谱的IT培训机构, 渴望突破职业瓶颈, 找一份得体的工作。 恰巧万码学堂正在寻找像你这样不甘平凡的追光者! 我们拒绝纸上谈兵,直接参与真实开发流程!
申请免费试听课程
现在行动,未来可期
立即拨打0532-85025005,预约免费职业规划咨询 前20名咨询者赠送《2025高薪技术岗位白皮书》!
你不是在报名课程,而是在投资五年后的自己!

