Title: Design Patterns in TypeScript