This repository contains a Flutter project that demonstrates the implementation of the SOLID principles in software design. Each SOLID principle (SRP, OCP, LSP, ISP, DIP) is explained in detail through separate information files located in the solid_info
directory. Additionally, each principle is exemplified using various Flutter classes, each residing in its own directory inside the lib
folder.
Definition: The Single Responsibility Principle suggests that a class should have only one reason to change, meaning it should be responsible for one thing or have a "single responsibility."
Information File: [SRP Info]
Definition: The Open/Closed Principle states that a class should be open for extension but closed for modification.
Information File: [OCP Info]
Definition: The Liskov Substitution Principle states that subtypes must be substitutable for their base types.
Information File: [LSP Info]
Definition: The Interface Segregation Principle suggests that a class should not be forced to implement interfaces or methods it does not use.
Information File: [ISP Info]
Definition: The Dependency Inversion Principle states that high-level modules should not depend on low-level modules; both should depend on abstractions.
Information File: [DIP Info]
- Clone this repository to your local machine.
- Open the project in Flutter.
- Explore each principle's information file in the
solid_info
directory for detailed explanations. - Browse the example classes in the
lib
directory to see practical implementations of each principle.
Contributions to improve this project and enhance the understanding of SOLID principles in Flutter are highly welcome. If you find any issues or want to add more examples, feel free to submit a pull request.
This project is licensed under the MIT License. Refer to the LICENSE
file for more details.