Facade模式其实没有什么好说的,它得意图很简单。便是提供一个接口,使子系统更加容易调用。
在面向对象的系统中应用类型有时候会非常的多,这会对程序员对其使用造成无从下手的感觉,这时候如果有个能为这些功能纷杂的子系统接口分门别类并提供一个同一的调用接口的话,这样对客户来说,使用这些子系统的功能将减少使用成本。而Facade模式便提供这样的功能。
下面的代码提供一个Facade类,它提供一个getCompnayPrincipal() 将得到集团,公司,部门,分公司的负责人的功能简化到一个方法中。这样对于我们来说就避免了调用其他的类,方法来进行初始化等复杂操作。