【发布时间】:2017-01-11 19:20:17
【问题描述】:
是否有某种技巧、设计模式或其他通用方法可以使对象“全局”可用,因此您可以根据需要从应用程序访问对象,以便可以在加载过程中加载它应用程序(无论是控制台等桌面应用程序,还是 MVC 等 Web 应用程序)
我基本上是在寻找可以在主启动方法中初始化的东西,并且无需将其传递给每个方法即可使用它,同时它保留其初始化时的状态和属性。
【问题讨论】:
-
当然,定义
public static class Globals { public static object EvilGlobal {get; set;} },然后您就可以从任何地方访问Globals.EvilGlobal。 -
我相信您希望将对象设为静态:msdn.microsoft.com/en-us/library/98f28cdx.aspx
-
根据应用的类型(web/console/whatever)有多种选择,但这几乎总是一种反模式。
-
假设你有这个但是当你尝试使用它时,it was corrupt。你将如何找到破坏它的东西?它可以是任何东西。相反,创建immutable 对象并将它们仅传递给need to know 对象的对象。
标签: c#