思想概要
以我贫瘠的知识储备来说,我认为外观模式是最没有范儿的设计模式了,概念的简单让人震惊。说得简单点,外观模式就是把杂乱无章的调用关系通过一个统一的视图提供给用户,具体来说你可以用一个API列表类来阐述外观模式。它唯一的目的就是同一调用关系,减少系统内部的可见来降低耦合。
上图极为清晰的描述了这样的关系,左图中客户代码可以随意的调用负责子系统内部的API,而右图它们只能调用Facade类的API,耦合降低了。但是外观模式对于修改封闭原则来说并不是很友好,新加一个子系统类的时候需要修改Facade类,甚至是客户类,不过正如我之前说过,它的作用只是提供一个API视图,不要期待太高。