Choice E is correct.
The Singleton doesn't just create a single instance it can also be used to create a variable number of instances of a class.
Choice A is incorrect as the Abstract Factory pattern is used for creating many objects that are dependent on each other.
Choice B is incorrect as the Factory Method pattern provides an interface for creating an object that allows either sub classes or helper classes to create that object.
Choice C is incorrect as the builder pattern separates the construction and representation of an object. The client is shielded from the objects construction only needing to specify it's content and type.
Choice D is incorrect as the Prototype pattern is used to create new objects by copying its prototype.
