PHP OOP: Návrhové vzory - SOLID principy [10]

PHP OOP: Návrhové vzory - SOLID principy [10]

Návrhové vzory, a to alespoň SOLID principy, by měl znát každý objektově orientovaný vývojář, který  to myslí s vývojem vážně. Na internetu se dá nalézt spoustu výkladů, ale za mě mohu doporučit toto video od Jakuba Kratiny, kde vše lidsky vysvětluje.

V následujících příkladech jsem pouze přepsal jím zmiňované příklady SOLID principů. Nepoužil jsem oficiální definice principů, ale lidský popis daného princitupu dle Jakuba.

 

Single-responsibility principle

Je jen jeden důvod proč bychom měli změnit chování třídy.

Každá třída má mít pouze jednu zodpovědnost.

https://github.com/hydroxid/php_examples/blob/main/3673_solid_principles/single_responsibility.php

 

Open–closed principle

Třída by měla být otevřená rozšíření, ale uzavřená modifikacím.

https://github.com/hydroxid/php_examples/blob/main/3673_solid_principles/open_closed.php

 

Liskov substitution principle

Metody třídy, které mají stejný interface, by měly vrace stejný výsledek (datový typ).

https://github.com/hydroxid/php_examples/blob/main/3673_solid_principles/liskov_substitution.php

 

Interface segregation principle

Třída by neměla implementovat metody, které nepoužívá.

Nedělat jeden moc chytrý interface, ale použít více interfaců (segregovat je).

Třída by neměla implementovat interface, který nepoužívá.

https://github.com/hydroxid/php_examples/blob/main/3673_solid_principles/interface_segregation.php

 

Dependency inversion principle

Všechny závislosti, které třída má, mají být interface.

https://github.com/hydroxid/php_examples/blob/main/3673_solid_principles/dependency_inversion.php

 

Zdroj: https://youtu.be/M5gmbkQQNQQ (Jakub Kratina - Návrhové vzory)

 

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář