我正在阅读关于外观模式的MSDN文章。 https://msdn.microsoft.com/en-us/library/orm-9780596527730-01-04.aspx#Anchor_0
我无法找到为什么他们将门面变成静态类?为什么他们使用静态变量来保存子系统类的实例?他们为什么使用静态方法?我想知道背后的原因。
以下是该文章的静态代码部分。完整的代码可以在文章中找到。
P_INPUT VARCHAR2 IN
P_OUTPUT VARCHAR2 OUT
P_COUNT BINARY_INTEGER OUT
答案 0 :(得分:6)
不要求立面是静态的。它恰好发生在这个例子中。外立面只是一种模式。你可以轻松拥有一个仍然是门面的常规课程。要求是它提供了对更复杂的类和方法集的简化访问。而不是创建需要进行大量设置的3个左右的不同类的实例,并且通常需要多个方法调用来获得所需的最终输出,而facade类为程序员完成所有这些,提供简化的单个类引用和单个(或极少)函数调用。
通常情况下,外观会使用通常需要多个步骤来检索的数据进行假设。这可以通过查看以前使用的输入参数的算法来完成,或者仅使用一些预定义的默认数据。