Basic
Details
- What are design patterns?
- Types of patterns
- Creational
- Structural
- Behavioral
- Most used patterns
- MVC/MVVM
- Singleton
- Strategy
- Proxy
- Observer
Links
- https://en.wikipedia.org/wiki/Software_design_pattern
- https://refactoring.guru/design-patterns
- https://www.patterns.dev/
- https://www.patterns.dev/posts/observer-pattern/
Courses
Intermediate
Details
- GoF Patterns
- Factory, factory method
- Decorator
- Adapter
- Facade
- Chain of responsibility
- Visitor
- Other patterns, principles
- Container/Presentational (or smart and dump) components
- Composition over inheritance
- DRY, KISS, SOLID
- Low coupling, high cohesion
- MVC
- IoC (inversion of Control)
- Dependency Injection
- Service Locator
Links
- https://www.patterns.dev/posts/presentational-container-pattern/
- https://refactoring.guru/
- https://www.patterns.dev/posts/command-pattern/
- https://betterprogramming.pub/10-design-principles-in-software-engineering-f88647cf5a07
- https://www.thoughtworks.com/insights/blog/composition-vs-inheritance-how-choose
- https://en.wikipedia.org/wiki/Model–view–controller
- https://en.wikipedia.org/wiki/Inversion_of_control
- https://www.educative.io/answers/what-is-inversion-of-control
- https://blog.logrocket.com/top-five-typescript-dependency-injection-containers/
- https://medium.com/monstar-lab-bangladesh-engineering/simplifying-dependency-injection-and-ioc-concepts-using-typescript-b70643f71c91
- https://levelup.gitconnected.com/dependency-injection-in-typescript-2f66912d143c
- https://dev.to/vovaspace/dependency-injection-in-typescript-4mbf
Courses
Advanced
Details
- GoF patterns
- Bridge
- Prototype
- Abstract Factory
- Flyweight
- Command
- Memento
- Demeter’s Law
- Anti-patterns
- Aspect-oriented programming
- Designing pluggable, modular systems
Links
- https://refactoring.guru/design-patterns/catalog
- https://en.wikipedia.org/wiki/Anti-pattern
- https://en.wikipedia.org/wiki/Aspect-oriented_programming
- https://betterprogramming.pub/demeters-law-don-t-talk-to-strangers-87bb4af11694
Books
https://www.amazon.com/Philosophy-Software-Design-John-Ousterhout/dp/1732102201