#823 – A Nested Factory Class Implemented as a Singleton
April 16, 2013 Leave a comment
Below is an instance of theĀ factory pattern, with the factory class nested within the class that it creates instances for, implemented as a singleton.
public class Dog { public string Name { get; set; } private Dog(string name) { Name = name; } public class Factory { // Instance created when first referenced private static readonly Factory instance = new Factory(); // Prevent early instantiation due to beforefieldinit flag static Factory() { } // Prevent instantiation private Factory() { } public static Factory Instance { get { return instance; } } // Factory method public Dog CreateDog(string name) { return new Dog(name); } } }