持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情
我们首先要确定的一件事是,外观模式也是结构型设计模式的一种。
模式的分析
我们知道,设计模式有六大原则。根据其中的“单一职责原则”来看,我们在软件开发中,常常将一个系统划成若干个子系统来部署,这样有利于降低整个系统的复杂性。
我们在设计系统的时候,一个常见的设计目标就是想办法让各个子系统间的通信和相互依赖关系达到最小,这样就可以达到该目标。
而如果想达到该目标,这个途径之一就是引入一个外观对象,这也引入了我们这次的设计模式的主题。
这个外观对象的作用就是为子系统的访问提供一个简单并且比较单一的入口。
同时,外观模式也是另一个原则:“迪米特原则”的体现。这几个设计模式的原则希望读者可以了解其概念和本质。
引入这个外观类之后,我们就可以降低原来的系统的复杂度,同时也可以降低客户类与子系统类的耦合度。
所以说,这个外观模式,其本质也很简单,就是要求一个子系统的外部与这个系统的内部进行通信,通过一个统一的外观对象进行。
通过这种方法,外观类就可以把客户端与子系统的内部复杂性进行成功地分隔。所以说,这样一来,客户端只需要与外观对象进行接触就行了,客户端就不需要与子系统内部的其他很多且繁杂的对象打交道,这就一来,就可以很明显地降低系统的复杂度。其实就和日常中人与人的沟通一样,沟通少了,联系就少了,复杂度也一定就会降低了。
通过以上分析我们可以发现,外观模式的目的就是降低系统的复杂度。
总结
外观模式的概念看起来很简单,应用起来也很方便,我们日常开发中可以寻找一些场景试一下相关的功能,这样利于我们的成长。