Skip to content

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

Notifications You must be signed in to change notification settings

mohab331/solid-principles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SOLID Principles in Flutter

Description

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.

SOLID Principles

Single Responsibility Principle (SRP)

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]

Open/Closed Principle (OCP)

Definition: The Open/Closed Principle states that a class should be open for extension but closed for modification.

Information File: [OCP Info]

Liskov Substitution Principle (LSP)

Definition: The Liskov Substitution Principle states that subtypes must be substitutable for their base types.

Information File: [LSP Info]

Interface Segregation Principle (ISP)

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]

Dependency Inversion Principle (DIP)

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]

How to Run the Project

  1. Clone this repository to your local machine.
  2. Open the project in Flutter.
  3. Explore each principle's information file in the solid_info directory for detailed explanations.
  4. Browse the example classes in the lib directory to see practical implementations of each principle.

Contributions

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.

License

This project is licensed under the MIT License. Refer to the LICENSE file for more details.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages