一、什么是中介者模式?
中介者模式是用来降低多个对象和类之间的通信复杂性的。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。
二、中介者模式简介
1、主要解决的问题:对象和对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂。用一个中介类来封装一系列的对象之间的交互,它可以使得各个对象之间没有显式的相互引用,从而达到松耦合的作用,而且可以独立的改变他们之间的交互。同时一个对象如果发生改变,我们需要跟踪与之想关联的对象,同时做出相应的处理。
2、何时使用:多个类相互耦合,形成了网状结构。
3、如何解决:将网状结构分离为星形结构。
4、关键代码:对象Colleague之间的通信封装到一个类中单独处理。
5、应用实例:
a.中国加入WTO之前各个国家相互之间进行贸易来往,结构复杂,现在是各个国家通过WTO来相互贸易。
b.机场调度系统。
c.MVC框架中,C(控制器)就是M(模型)和V(视图)的中介者。
6、优点:
a.降低了类的复杂度,将一对多转化成一对一。
b.各个类之间解耦。
c.符合迪米特法则。
7、缺点:中介者会变得庞大,变得难以维护。
8、应用场景:
a.系统中对象之间存在比较复杂的引用关系,导致他们之间的依赖关系复杂,结构混乱而难以复用该对象。
b.想通过一个中间类来封装多个类中的行为,而又不想生成太多的子类。
设计模式之——中介者模式
最新推荐文章于 2024-08-27 08:00:00 发布