Dependency Injection Design Pattern
Singleton Design Pattern