概述
外观模式是比较好理解的,他提供了一个或者多个第三方接口的统一调度。
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。
The Facade design pattern is often used when a system is very complex or difficult to understand because the system has a large number of interdependent classes or its source code is unavailable. This pattern hides the complexities of the larger system and provides a simpler interface to the client. It typically involves a single wrapper class which contains a set of members required by client. These members access the system on behalf of the facade client and hide the implementation details.
使用方法
不推荐上图使用的方法,他的意思是:现在一个BusinessSvc1中的代码无法单独表示一个业务,需要引入第二个BusinessSvc2才能处理业务。那么不应该在其中任何一个Svc里引入另一个Svc,这样不便于理解。
应该这样优化:
优缺点比较
优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。
缺点:不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。
使用场景: 1、为复杂的模块或子系统提供外界访问的模块。 2、子系统相对独立。 3、预防低水平人员带来的风险。
参考
Object-Oriented Design Patterns explained using practical examples