设计模式回顾之二:外观/门面模式(Facade)

2012-10-21

设计模式回顾系列文章:

主要针对工作中常用常见的设计模式进行整理、总结,同时分享以供大家拍砖。

------------------------------------------------

外观/门面模式(Facade)

希望简化原有系统的使用方式,需要定义自己的接口。

Facade模式简化了对所需子系统的使用过程,但是由于Facade并不完整,因此客户可能无法使用某些功能。

实现:定义一个或多个具备所需接口的新类,让新的类使用原有的系统。

应用场景:

1:不需要使用一个复杂系统的所有功能, 而且可以创建一个新的类, 包含访问系统的所有规则。 如果只需要使用系统的部分功能(这是通常情况), 那么你为新类所创建的API将比原来系统的API简单的多。

2:希望封装或者隐藏原系统。

3:希望使用原系统的功能, 而且还希望增加一些新的功能。

4:编写新类的成本小于所有人学会使用或者未来维护原系统上所需的成本。

举例:

各种Util类均可以理解为Facade。JDBC封装DBUtil、Hibernate封装Util、FTP类封装、Date和String等工具类的封装。

相关推荐