Factory Method pattern
Singleton pattern