Design patterns and principles are essential concepts in programming that help developers write better, more maintainable code. They provide structured solutions to common software design problems and promote best practices in software development.Design patterns and principles are not interchangeable; they serve different purposes:
- are documented and tested solutions for recurring problems in a given context.
- Provide a proven template to solve particular design challenges.
- General guidelines that help developers create better software architecture.
- Promote maintainability, scalability, and readability.
- Creational Patterns - deal with object creation mechanisms, trying to create objects in a manner suitable to the situation.
- Structural Patterns - focus on class and object composition to form larger structures.
- Behavioral Patterns - focus on communication between objects.
SOLID is an acronym that represents five key design principles aimed at making software easier to manage and extend.
- The code was mostly takes from here and here
- The UML diagrams used to show the relation of classes was taken from here
- A lot of terms were explored in refactoring.guru
This project is licensed under the GNU General Public License.