Facade模式通过将复杂子系统封装在单個接口对象中来促进子系统与其可能的许多客户端的分离这减少了子系统之间的通信和依赖性,并降低了系统的复杂性
立面图案属于結构模式。
为子系统中的一组接口提供统一接口Facade定义了一个更高级别的接口,使子系统更易于使用
Facade使用更简单的界面包装复杂的子系統。下图显示了立面图案的结构
在这里,所有的复杂性都被外立面包裹着这是一个使用一个精心设计的API包装设计不佳的API集合的示例。
需要注意的一件重要事情是可以有多个外观类。
这是另一个更实际的例子来说明立面图案
Facade:facade类从应用程序的其余部分提取包1,2和3。
让我們考虑一个制造汽车的系统在创造一辆完整的汽车时,有许多复杂的工艺和零件所有这些都可以包装在一个Facade类中,如下面的类图所示
首先,让我们创建一个复杂的过程
系统。出println(“汽车配件已设定。”);
现在让我们将这些复杂的流程包装到facade类中。
私人 汽车 配件配件 ;
系统出。println(“你的车准备好了”);
现在,客户可以使用这个外观来创建汽车而无需了解潜在的复杂性。
汽车 引擎 已 设定
汽车 車身 的 设置。
汽车 配件 已 设定
你的 车 是 准备就绪。
您可以看到客户如何不关心汽车的内部复杂性而是关注汽车的行为。
这篇文章用一個简单的例子谈到了Facade模式的概括形式作为GOF模式之一。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。