DESIGN PATTERNS/PRINCIPLES DESIGN PRINCIPLES SOLID Single Responsibility Open/Closed Principle Liscov's Substitutuon Principle Interface Seggregation Denpendency Inversion DESIGN PATTERNS Singleton Factory Dependency Injection Inversion of Control Builder Facade Proxy Repository