- TypeScript
- TypeScript Handbook
- Educative.io
- Github docs
- Github Co-Pilot
Being good at problem-solving is one thing but to take your career to the next level, one must know how complex software projects are architected. Software design patterns provide templates and tricks used to design and solve recurring software problems and tasks. Applying time-tested patterns result in extensible, maintainable and flexible high-quality code, exhibiting superior craftsmanship of a software engineer. Being well-versed in knowledge of design patterns allows one to spot brittle and immature code from miles away. The course goes to great lengths to lay bare the esoteric concepts of various design patterns before the reader and is replete with real-world examples and sample code. The readership for this course is expected to be familiar with some object orientated language. The course examples and snippets are written in the TypeScript language but folks with experience in other OOP languages should easily be able to follow the discussion and code intent.
- 3. Builder Pattern
- 4. Singleton Pattern
- 5. Prototype Pattern
- 6. Factory Method Pattern
- 7. Abstract Factory Pattern
- 8. Adapter Pattern
- 9. Bridge Pattern
- 10. Composite Pattern
- 11. Decorator Pattern
- 12. Facade Pattern
- 13. Flyweight Pattern
- 14. Proxy Pattern
- 15. Chain of Responsibility Pattern
- 16. Observer Pattern
- 17. Strategy Pattern
- 18. Command Pattern
- 19. State Pattern
- 20. Template Method Pattern
- 21. Visitor Pattern
- 22. Iterator Pattern
- 23. Mediator Pattern
- 24. Memento Pattern
- 25. Educative.io
- 26. TypeScript Handbook
- 27. Github docs
- 28. Github Co-Pilot