设计模式(10) 外观模式
外观模式(或门面模式、包装模式)是设计模式中非常朴素地体现面向对象“封装”概念的模式,它的基本原理是将复杂的内部实现以统一接口的方式暴露出来,最大程度地减少客户程序对某些子系统内部众多对象的依赖关系。 外观模式在开发过程中运用频率非常高,比如各种第三方SDK大多会使用外观模式。通过一个外观类是的整个系统的接口只有一个统一的高层接口,这样能够降低用户的使用成本,也能够对用户屏蔽很多实现细节。 再比如经常会用到的三层结构也是外观模式的应用。 GOF对外观模式的描述为: Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use. — Design Patterns : Elements of Reusable Object-Oriented Software UML类图: 通过外观模式为子系统中的一组接口提供一个高层接口,该接口使子系统更易于使用。它的主要动机是减少“子系统”内部与外部间对象通信的依赖复杂程度 再比如计算机就是一个通过提供一个高层接口以屏蔽内部复杂性的例子,计算机包括CPU、硬盘、内存等各种部件,但作为用户,不需要与这些零部件打交道