中介者模式(Mediator、ConcreteMediator、Colleague Class)(租房中介)

中介者模式就是利用一个中介对象来封装一系列的对象交互中介者使各对象不需要显式地互相引用从而使其耦合松散,而且可以独立地改变他们之间的交互。

就像租房的中介系统,房主跟租房者不需要知道彼此只需要,只要在中介系统发布消息。

如此房主跟租房者之间不需要建立复杂关系,他们都只需要跟中介建立关系。

通常在以下情况下考虑使用中介者模式:

(1)系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解。

(2)一组对象以定义良好但是复杂的方式进行通信。产生的相互依赖关系结构混乱且难以理解。

(3)一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。

(4)想通过一个中间类来封装多各类中的行为,而又不想生成太多的子类,可以通过引入中介者类来实现,在中介者中定义多个对象交互的公共行为,如果改变行为则可以增加新的中介者类。

(5)欲使一个后端数据模型能够被多个前端用户界面连接

抽象中介者:

1 public abstract class Meditor { 2 abstract void Send(String message,Person person); 3 abstract void SetRenter(Person renter); 4 abstract void SetLandlord(Person landlord); 5 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwsgfj.html