Facade

定义 : 

  门面模式是对象的结构模式,门面模式提供了一个统一的接口,用来访问子系统中的一群接口。门面定义了一个高层接口,让子系统更容易使用。

  其目的是简化子系统的接口,并将客户端从子系统中解耦。

结构和角色 : 

  

 门面角色(Facade) : 客户端可以调用这个角色的方法,然后将客户端发来的请求委派到相应的子系统去。

 子系统角色(Subsystem) : 子系统可以被客户端直接调用,或者被门面角色调用。子系统并不知道门面的存在,对于子系统而言,门面仅仅是另外一个客户端而已。

实例 coding ....

 什么情况下使用门面模式 : 

  为一个复杂子系统提供一个简单的接口。子系统往往因为不断演化而变得越来越复杂,使用门面模式可以使得子系统更具可重用性。

  子系统的独立性,门面模式将客户端与子系统分离,可以提高子系统的独立性和可移植性。

  

设计原则

   迪米特法则(LoD) :  又叫最少知识原则(Least Knowledge), "只和你直接的朋友通信"。

  其实就是减少类之间的依赖关系,降低耦合。

原文地址:https://www.cnblogs.com/shouwangzhe-/p/3653125.html