This repository contains assignments regarding each of the five principles that together form the SOLID design principles:
- Single-responsibility principle
- Open-closed principle
- Liskov substitution principle
- Interface segregation principle
- Dependency inversion principle
Please read this entire README before you begin.
I love getting constructive feedback. I've created this repository for improving people's theoretical and practical software development skills, and I am by no means an exception. I make mistakes all the time, and find myself reading theory that I already read years ago.
So have you spotted an error? Got an idea for improving or extending this repository? Don't be shy!
Simply open a discussion, report an issue, or create a pull request. Thanks!
Each assignment is based on the assumption that you know what the SOLID design principles are, and understand them - at least at a basic level. A short summary of what the principles are about can be found at the beginning of all assignments as a "fresher-upper".
Try to complete a task first, without doing additional research or otherwise getting help. This way you'll learn which principles you know by heart and which ones you might want to dive into a bit more.