Software Design Patterns in TypeScript Creational Factory Method Singleton Builder Structural Adapter Behavioral Strategy Observer