代码改变世界

facade

2007-09-04 00:16  buru  阅读(274)  评论(0)    收藏  举报
 动机:各个子系统之间过多的偶合关系.如何简化外部客户程序和系统间的交互接口?如何将外部客户程序的演化和内部子系统的变化之间的依赖相互解耦?

意图:为子系统中的一组接口提供一个一致的界面,facade模式定义了一个高层接口,使得接口更容易使用. 
 --------------------------------------------------------
实际上就是用一个类封装各子系统的功能?
---------------------------------------------------------
涉及到的原则:单一职责;子系统里之间是组合而不是继承关系.不依赖子系统的实现细节.
facade从架构的层次看整个系统,而不是单个类的层次。
-------------------------------
几个构造型模式:
facade注重简化接口,Adapter转换接口,Bridge分离接口(抽象)与其实现?
Decorator注重稳定接口的前提下扩展。