{"id":26046626,"url":"https://github.com/sallamrady/solid-principles","last_synced_at":"2026-05-15T12:33:26.753Z","repository":{"id":236752843,"uuid":"793088841","full_name":"SallamRady/Solid-Principles","owner":"SallamRady","description":"This repository is dedicated to learning and applying the SOLID principles in software development. ","archived":false,"fork":false,"pushed_at":"2025-02-13T09:30:34.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-07T21:11:52.340Z","etag":null,"topics":["dependency-inversion-principle","interface-segregation-principle","liskov-substitution-principle","open-closed-principle","react","single-responsibility-principle","solid"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SallamRady.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-28T11:50:07.000Z","updated_at":"2025-02-13T09:30:38.000Z","dependencies_parsed_at":"2025-02-11T12:32:42.347Z","dependency_job_id":"6332080b-8409-497e-a471-0a3a9cf9eef6","html_url":"https://github.com/SallamRady/Solid-Principles","commit_stats":null,"previous_names":["sallamrady/solid-principles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SallamRady/Solid-Principles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SallamRady%2FSolid-Principles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SallamRady%2FSolid-Principles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SallamRady%2FSolid-Principles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SallamRady%2FSolid-Principles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SallamRady","download_url":"https://codeload.github.com/SallamRady/Solid-Principles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SallamRady%2FSolid-Principles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266572291,"owners_count":23949992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dependency-inversion-principle","interface-segregation-principle","liskov-substitution-principle","open-closed-principle","react","single-responsibility-principle","solid"],"created_at":"2025-03-07T21:11:50.908Z","updated_at":"2026-05-15T12:33:21.715Z","avatar_url":"https://github.com/SallamRady.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solid Principles\n\nThis repository is dedicated to learning and applying the SOLID principles in software development.\nThe SOLID principles are a set of design principles that promote clean, maintainable, and scalable code architecture.\nBy understanding and implementing these principles, you can improve the quality and flexibility of your software projects.\n\n## What are the SOLID principles?\n\nThe SOLID principles are a collection of five design principles introduced by Robert C. Martin, commonly known as Uncle Bob.\nEach principle focuses on a specific aspect of software design and aims to enhance code readability, maintainability, and extensibility.\n\n## The five principles are:\n\n### Single Responsibility Principle (SRP):\n\nA class should have only one reason to change.\n\n### Open-Closed Principle (OCP):\n\nSoftware entities should be open for extension but closed for modification.\n\n### Liskov Substitution Principle (LSP):\n\nSubtypes must be substitutable for their base types.\n\n### Interface Segregation Principle (ISP):\n\nClients should not be forced to depend on interfaces they do not use.\n\n### Dependency Inversion Principle (DIP):\n\nHigh-level modules should not depend on low-level modules. Both should depend on abstractions.\n\n## Repository Structure\n\nThis repository provides practical examples, code snippets to help you understand and apply the SOLID principles in your projects. The repository is organized as follows:\n\nfive directories each principe have a directory\n\n- 01.Single Responsibility\n- 02.Open Closed\n- 03.Liskov Substitution\n- 04.Interface Segregation\n- 05.Dependency Inversion\n\neach directory have declaration of principles and simple example help you to understand the principle well.\n\n### Getting Started\n\nTo 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.\n\nFeel free to contribute to this repository by adding more examples, exercises, or improving the existing content. Pull requests are welcome!\n\nThanks,\n\nSallam Rady Ramadan\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsallamrady%2Fsolid-principles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsallamrady%2Fsolid-principles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsallamrady%2Fsolid-principles/lists"}