#Design Patterns
- Strategy
- Observer
- Decorator
- Factory Method
- Abstract Factory
- Singleton
- Command
- Adapter
- Facade
- Template Method
- Iterator
- Composite
- State
- Proxy
- Encapsulates what varies.
- Favor composition over inheritance.
- Program to interfaces, not implementations.
- Strive for loosely coupled designs between objects that interact
- Classes should be open for extension but closed for modification.
- Depend on abstractions. Do not depend on concrete classes.
- Principle of Least Knowledge: talk only to your immediate friends.
- The Hollywood Principle: Don't call us, we'll call you.
- A class should have only one reason to change.
You need .NET 8 to run these examples.