外观模式: 又称门面模式: 外观Facade为子系统的一组接口提供一个一致界面,使得这组子系统易于使用(通过引入一个新的外观角色降低原系统复杂度,同时降低客户类与子系统的耦合度)....图片来源: 设计模式: 可复用面向对象软件的基础.
实现
案例需求: 租房
有过自己找房租房经历的同学能够体会得到找房是件很痛苦的事, 不光要挨个小区跑而且还要跟(二)房东讨价还价...., 也完全有可能使用过他, 因为他完美的体现了依赖倒转原则和迪米特法则的思想, 是非常常用的模式之一....使用
首先 在设计初期, 应该有意识的进行层次分离, 比如经典的三层架构, 层与层之间建立Facade, 这样可以为复杂的子系统提供一个简单的接口, 使耦合度大大降低....第三 在维护一个遗留系统时, 可能这个系统已经非常难以维护和扩展了, 但因为它包含非常重要的功能, 新的需求必须依赖它, 此时可以为新系统开发一个Facade, 为设计粗糙或高复杂度的遗留代码提供一个的比较清晰简单的接口