mirror of
https://github.com/wataridori/solid-php-example.git
synced 2024-12-04 19:03:30 +00:00
Update readme.md
Added summary notes and improved formatting.
This commit is contained in:
parent
cc801b80f8
commit
9f4bcb6658
25
readme.md
25
readme.md
@ -1,18 +1,23 @@
|
||||
## SOLID Principles Examples in PHP
|
||||
|
||||
### Single Responsibility Principle
|
||||
A class should have one, and only one, reason to change. [Example](./1-single-responsibility-principle.php)
|
||||
### Single Responsibility Principle ([Example](./1-single-responsibility-principle.php))
|
||||
This principle is about **actors and high level architecture**.
|
||||
> A class should have one, and only one, reason to change.
|
||||
|
||||
### Open Closed Principle
|
||||
A class should be open for extension, but closed for modification. [Example](./2-open-closed-principle.php)
|
||||
### Open Closed Principle ([Example](./2-open-closed-principle.php))
|
||||
This principle is about **class design and feature extensions**.
|
||||
> A class should be open for extension, but closed for modification.
|
||||
|
||||
### Liskov Substitution Principle
|
||||
Derived classes must be substitutable for their base classes. [Example](./3-liskov-substitution-principle.php)
|
||||
### Liskov Substitution Principle ([Example](./3-liskov-substitution-principle.php))
|
||||
This principle is about **subtyping and inheritance**
|
||||
> Derived classes must be substitutable for their base classes.
|
||||
|
||||
### Interface Segregation Principle
|
||||
Many client-specific interfaces are better than one general-purpose interface. [Example](./4-interface-segregation-principle.php)
|
||||
### Interface Segregation Principle ([Example](./4-interface-segregation-principle.php))
|
||||
This principle is about **business logic to clients communication**.
|
||||
> Many client-specific interfaces are better than one general-purpose interface.
|
||||
|
||||
### Dependency Inversion Principle
|
||||
Depend upon abstractions. Do not depend upon concretions. [Example](./5-dependency-inversion-principle.php)
|
||||
### Dependency Inversion Principle ([Example](./5-dependency-inversion-principle.php))
|
||||
> This principle wires up all **other four principles in a single circle**.
|
||||
Depend upon abstractions. Do not depend upon concretions.
|
||||
|
||||
#### For more information about *Object Oriented Design Principles*, you can refer [this slide](https://viblo.asia/thangtd90/posts/pVYRPJPmG4ng)
|
||||
|
Loading…
Reference in New Issue
Block a user