I created this solution to practice and learn more about pattern design
Main is inside PatternsExamples in the Root.cs file.
There is one library project for each pattern.
- Clone https://github.com/Escoto/PatternDesign.git
- Download https://github.com/Escoto/PatternDesign/archive/master.zip
- Identify the aspects of your application that vary and separate them from what stays the same.
- Program to an interface, not an implementation.
- Favor composition over inheritance.
- Strive for loosely coupled designs between objects that interact.
- Classes should be open for extension, but closed for modification.
- Dependency Inversion depend upon abstractions, not upon concrete classes.