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)

 

Komentáře

Vaše reakce na PHP OOP: Návrhové vzory - SOLID principy [10]

Související obsah

serial-php-oop

php

programovani

vyvoj

php-oop

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.