c# - 子类的唯一实例

c# - Unique instance of a subclass

我在这里问问题是因为我没有找到答案...也许我没有在寻找合适的术语...

我的问题很简单,我在 C# 中有一个接口 class,问题是程序的要求之一是 "kind" 的一个且只有一个实例 classes应该在程序中...

我的想法是让它成为一个单例 class,所以例如我有一个名为 ProductionCriteria 的接口,它应该是 3 个不同的子 classes,一个是给定的排序标准和另外两个也是不同的标准...

那么,我该怎么做才能同时拥有任何给定子 class 的一个实例?

另一个例子,用户选择了 Criteria (OrderByDate) 所以有一个 CriteriaByDate 的实例 class 实现了 ProductionCriteria,但是在生产之后,用户将标准更改为 CriteriaByMaxAmount,所以,我需要这个 subclass 占用与第一个创建的实例相同的实例吗?

我不知道这是否有意义,但我真的很感激任何帮助。

谢谢。

您是否考虑过使用具有工厂模式的单例?