This pattern should be used when you want to create a complex object that requires following a set of steps one of the classes in the pattern is a Director

a) Singleton pattern
b) Builder pattern
c) Prototype pattern
d) Factory pattern