Facade模式和Mediator模式
Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面。Facade模式经常用来隔离数据库和应用程序,如下图:
Mediator模式是用一个中介对象来封装一系列关于对象交互行为。为何使用Mediator?各个对象之间的交互操作非常多。每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为。如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性。如下图,假设说ListBox和TextBox之间有很多交互,我们把这些交互提取到QuickEntryMediator中里来,ListBox和TextBox的使用者并不知道Mediator的存在。
如果交互行为涉及范围广泛并且可见,那么可以使用Facade模式,另一方面如果范围小则可以使用Mediator模式。
Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面。Facade模式经常用来隔离数据库和应用程序,如下图:
Mediator模式是用一个中介对象来封装一系列关于对象交互行为。为何使用Mediator?各个对象之间的交互操作非常多。每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为。如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性。如下图,假设说ListBox和TextBox之间有很多交互,我们把这些交互提取到QuickEntryMediator中里来,ListBox和TextBox的使用者并不知道Mediator的存在。
如果交互行为涉及范围广泛并且可见,那么可以使用Facade模式,另一方面如果范围小则可以使用Mediator模式。