精心设计的模式可以在没有单例的情况下通过静态函数访问实例成员? [C#]

问题描述 投票:0回答:1

我正在寻找一种解决方案,该解决方案允许我访问静态函数,该函数可以在不实现单例的情况下对实例值进行操作。我不确定这是否可能,我个人从未见过这样做。即使是我见过的替代方案在某种意义上也基本上模仿了单例,例如在某种初始化步骤中分配的静态委托,用函数实例替换对象实例。这似乎是一个愚蠢的问题,但由于序列化和持久性等原因,我正在工作的域不允许使用我更喜欢使用的单例类型。如果您想不出一种既定的模式,甚至只是您想出的一种您认为效果很好的模式,那么即使是建议和猜测也将不胜感激。

本质上,一切都归结为一个基本模式,即一些静态成员,然后在某个时刻进行初始化,以便可以从静态函数访问它。 我遇到的所有可能的替代方案似乎都假装不是单身人士。并不是说我反对他们,他们有他们的位置。我当然不是那些到处重复“单身人士是傻瓜的”的人之一,因为他们听到一些教授这么说并觉得自己很聪明。但同样,由于环境和问题领域的原因,单例的处理方式让我在大多数情况下想要避免它们。

c# static-methods instance-variables
1个回答
0
投票

如何在依赖注入上下文中定义(非静态)实例/值,然后使用静态类来获取注入的实例?

然后您可以对静态上下文中的值进行操作。

似乎是一个有效的选项,并且根本不是单例模式,除非您也将依赖注入上下文视为单例

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.