设计模式04---设计模式之外观模式
第一:场景模拟
比如说我要买电脑
第一种办法就是,完全靠自己,自己去买配件,然后自己组装。这个办法要求自己对配件比较熟悉。
第二种办法就是,找一家专业的装机公司,提出自己的要求, 然后等着拿电脑就行了。
很明显,第二种办法虽然多花钱,可是客户不需要了解那么多。
通过这个场景,我们可以将第二种办法抽象为如下图,也就是我们的外观模式。
第二:问题由来
示例代码如下
举一个例子吧,先把图贴出来,然后再贴代码
package cn.javass.dp.facade.example4;public interface FacadeApi {public void a1();public void b1();public void c1();public void test();//对外提供的组合方法,同前面Facade类的方法一样}这样的话,一个模块中的接口定义分为两部分,一部分是给子系统外部使用的【例如a1()】,一部分是给子系统内部的模块之间的相互调用使用的【例如a2(),a3()】,有了facade接口,那么用于子系统内部的接口功能就不会暴露给子系统的外部了。