摘要:
好处:
门面模式是一个很好的封装方法,一个子系统比较复杂,比如算法或者业务比较复杂,
就可以封装出一个或多个门面出来,项目的结构简单,而且扩展性非常好。还有,在一个较大项目
中的时候,为了避免人员带来的风险,也可以使用这个模式。
缺点:
1) 当你要为了一个复杂子系统提供一个简单接口时。在上面已经描述了原因。
2) 由于抽象类的实现部分与客户程序之间存在着很大的依赖性。引入 facade 将这个子系统与客户以及其他的子系统分离,
可以提高子系统的独立性和可移植性(上面也提到了)。
3) 当你需要构建一个层次结构的子系统时,使用 facade 模式定义子系统中每层的入口点。如果子系统之间是相互依赖的,
你可以让它们仅通过 facade 进行通讯,从而简化了它们之间的依赖关系。 阅读全文