https://github.com/sallamrady/solid-principles
This repository is dedicated to learning and applying the SOLID principles in software development.
https://github.com/sallamrady/solid-principles
dependency-inversion-principle interface-segregation-principle liskov-substitution-principle open-closed-principle react single-responsibility-principle solid
Last synced: 4 months ago
JSON representation
This repository is dedicated to learning and applying the SOLID principles in software development.
- Host: GitHub
- URL: https://github.com/sallamrady/solid-principles
- Owner: SallamRady
- License: mit
- Created: 2024-04-28T11:50:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-11T12:13:43.000Z (4 months ago)
- Last Synced: 2025-02-11T12:39:58.156Z (4 months ago)
- Topics: dependency-inversion-principle, interface-segregation-principle, liskov-substitution-principle, open-closed-principle, react, single-responsibility-principle, solid
- Language: TypeScript
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Solid Principles
This repository is dedicated to learning and applying the SOLID principles in software development.
The SOLID principles are a set of design principles that promote clean, maintainable, and scalable code architecture.
By understanding and implementing these principles, you can improve the quality and flexibility of your software projects.## What are the SOLID principles?
The SOLID principles are a collection of five design principles introduced by Robert C. Martin, commonly known as Uncle Bob.
Each principle focuses on a specific aspect of software design and aims to enhance code readability, maintainability, and extensibility.## The five principles are:
### Single Responsibility Principle (SRP):
A class should have only one reason to change.
### Open-Closed Principle (OCP):
Software entities should be open for extension but closed for modification.
### Liskov Substitution Principle (LSP):
Subtypes must be substitutable for their base types.
### Interface Segregation Principle (ISP):
Clients should not be forced to depend on interfaces they do not use.
### Dependency Inversion Principle (DIP):
High-level modules should not depend on low-level modules. Both should depend on abstractions.
## Repository Structure
This repository provides practical examples, code snippets to help you understand and apply the SOLID principles in your projects. The repository is organized as follows:
five directories each principe have a directory
- 01.Single Responsibility
- 02.Open Closed
- 03.Liskov Substitution
- 04.Interface Segregation
- 05.Dependency Inversioneach directory have declaration of principles and simple example help you to understand the principle well.
### Getting Started
To get started, clone this repository to your local machine. You can then explore the directories and see examples, modify the code, and experiment with different approaches to apply the SOLID principles. Make sure you have a compatible development environment set up to run the examples.
Feel free to contribute to this repository by adding more examples, exercises, or improving the existing content. Pull requests are welcome!
Thanks,
Sallam Rady Ramadan