Design principles and design patterns
We mentioned design principles and design patterns earlier. In this section, we will talk about them further. We will start with SOLID, which is an acronym of the five design principles we will introduce. Due to the scope of this book, we will only talk about related design patterns along the way.
The SOLID design principles were introduced in Robert C. Martin's book, Agile Software Development: Principles, Patterns, and Practices, in which he gave a detailed explanation and examples of these principles. Here, we will introduce them as the principles that we will apply in our TaskAgile application.
SOLID design principles
Let's start with the first five design principles:
- SRP: The Single Responsibility Principle
- OCP: The Open-Closed Principle
- LSP: The Liskov Substitution Principle
- ISP: The Interface Segregation Principle
- DIP: The Dependency Inversion Principle
The Single Responsibility Principle (SRP)
A class should have only one reason to change.
This principle...