命名此模式

ann*_*ata 2 design-patterns

经常看到并经常使用它,想知道它是否有名字?

C#版本:

public class Register
{
    protected Register()
    {
        Register.registry.Add(this);
    }

    public static ReadOnlyCollection<Register> Instances
    {
      get { return new ReadOnlyCollection<Register>(registry); }
    }

    private static List<Register> registry = new List<Register>();
}
Run Code Online (Sandbox Code Playgroud)

如果你无法解决它,它会保留跟踪的实例:)

编辑:这只是一个片段,不要过分兴奋GC问题的人

Rob*_*ert 5

内存泄漏?除非您提供从静态列表"注册表"中明确删除它们的方法,否则不会收集Register的任何实例.