[英]Does facade class in facade pattern need to be static?
我正在阅读有关外观模式的MSDN文章。 https://msdn.microsoft.com/zh-cn/library/orm-9780596527730-01-04.aspx#Anchor_0
我找不到他们为什么将立面设为静态类的原因? 为什么他们使用静态变量来保存子系统类的实例? 他们为什么使用静态方法? 我想知道背后的原因。
以下是该文章的静态代码部分。 完整的代码可以在文章中找到。
public static class Facade
{
static SubsystemA a = new SubsystemA( );
static SubsystemB b = new SubsystemB( );
static SubsystemC c = new SubsystemC( );
public static void Operation1( ) {
Console.WriteLine("Operation 1\n" +
a.A1( ) +
a.A2( ) +
b.B1( ));
}
public static void Operation2( ) {
Console.WriteLine("Operation 2\n" +
b.B1( ) +
c.C1( ));
}
}
无需使外观为静态。 碰巧在这个例子中是这样。 外墙只是一种模式。 您可以轻松地拥有仍是外观的常规课程。 要求是它提供对一组更复杂的类和方法的简化访问。 无需创建3个左右的类的实例,这些实例需要进行大量设置,并且通常需要几个方法调用才能获得所需的最终输出,而Facade类为程序员提供了所有这些功能,并提供了一个简化的类引用和一个(或更少)函数调用。
通常,外观将使用通常需要多个步骤来检索的数据进行假设。 这可以通过查看先前使用的输入参数的算法来完成,或者仅使用一些预定义的默认数据即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.