Lubisz flat white? Programujmy wspólnie. Przy kawie.
  • Blog
  • Lifestyle
  • Linux
  • Programowanie
    • Open source
    • PHP
    • Porady
    • REST
    • SQL
12 września 2021 przez Przemysław Sobolewski 2
Dobre praktyki, PHP, Programowanie

Pisz SOLIDny kod. Poznaj lepiej SOLID.

Pisz SOLIDny kod. Poznaj lepiej SOLID.
12 września 2021 przez Przemysław Sobolewski 2
Dobre praktyki, PHP, Programowanie

Mała seria, w której przejdziemy przez dobre praktyki pisania kodu. Na pierwszy rzut SOLID. Postaram się rzucić prostymi przykładami (w PHP i Pythonie), aby lepiej zrozumieć SOLID.

Poniżej ku pamięci, czym jest SOLID? Wg wiki jest to mnemonik zaproponowany przez Roberta C. Martina znanego w branży pod pseudonimem „Uncle Bob„, twórcę m.in. kultowej książki „Czysty Kod„, oraz innych książek, opisujący pięć podstawowych założeń programowania obiektowego:

  • S – Single Responsibility Principle
  • O –
  • L –
  • I –
  • D –

SINGLE RESPONSIBILITY PRINCIPLE
:: zasada pojedynczej odpowiedzialności

Założeniem jest, aby każda z klas miała jedno przeznaczenie, tylko jeden cel i jedną odpowiedzialność. Proponowanym rozwiązaniem jest stworzenie kilku mniejszych klas, która każda odpowiedzialna za coś innego. Ta praktyka jest szczególnie pomocna w utrzymaniu kodu i jego dalszym rozwoju. Zwiększasz jego czytelność i użyteczność.

<?php declare(strict_types=1);
class Person 
{
	...
    public function test()
    {
      ...
    }

#Open/closed principle
:: zasada otwarte-zamknięte

Każda klasa czy funkcja powinna być otwarta na rozszerzenia, ale zamknięta na modyfikacje. Co to oznacza w praktyce? Od początku mamy pisać w ten sposób, aby możliwe było dodawanie nowych metod w klasie, rozwijanie jej funkcjonalności bez jakichkolwiek późniejszych zmian w systemie. W przypadku rozbudowanych systemów, zawierających sporo klas i funkcji, modyfikacja nawet jednej małej metody może spowodować nieprawidłowe działanie innych elementów programu.

#Liskov substitution principle
:: zasada podstawienia Liskov

Funkcje, korzystające z obiektów klasy bazowej, muszą być w stanie używać również obiektów klasy pochodnej, bez dokładnej znajomości tych obiektów.

#Interface segregation principle
:: zasada segregacji interfejsów

Wiele dedykowanych interfejsów jest lepsze niż jeden ogólny.

#Dependency inversion principle
:: zasada odwrócenia zależności

Wysokopoziomowe moduły nie powinny zależeć od modułów niskopoziomowych – zależności między nimi powinny wynikać z abstrakcji.

dobre praktyki php solid

Poprzedni artykułNareszcie! Nowe funkcjonalności w PHP 8.Następny artykuł 19 najlepszych praktyk w PHP dla początkujących.

2 komentarzy

Aiwe pisze:
26 stycznia 2022 o 16:40

Świetny blog! Dziękuję za dzielenie się wiedzą. 🙂

Odpowiedz
Pingback: 19 najlepszych praktyk w PHP dla początkujących. - Lubisz flat white? Programujmy wspólnie. Przy kawie.

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Postaw mi kawę na buycoffee.to

Znajdziesz mnie na

TOP

  • 19 najlepszych praktyk w PHP dla początkujących.
  • Nareszcie! Nowe funkcjonalności w PHP 8.
  • OMG! Ubuntu 19.10 „Eoan Ermine” już dostępny!
  • Sprawdzona prognoza pogody online
  • JMSTranslationBundle too few arguments in __construct

Tagi

brucelee C# css3 cytaty domena favicon film flash fonts format c generator google google chrome hasła host inspiracja instalacja intro jquery js loading logowanie menu na luzaku obrót opera Outlock 2007 ovh pdf php plugin plyta glowna podręcznik pokaz/ukryj porady pozycjonowanie program programy screen sortowanie sql sumatra pdf Visual Studio 2008 windows xp WordPress

Polecam:

- Jak założyć sklep internetowy?

Better Future

Żyjemy w dynamicznych czasach gdzie informacja jest cenniejsza niż pieniądze. Na moim blogu zdobędziesz cenną wiedzę całkowicie za DARMO. Dlaczego? Sprawdź w moich postach!

Ostatnie wpisy

19 najlepszych praktyk w PHP dla początkujących.25 czerwca 2022
Pisz SOLIDny kod. Poznaj lepiej SOLID.12 września 2021
Nareszcie! Nowe funkcjonalności w PHP 8.30 czerwca 2021

Kontakt

Pisz na: hi@przemyslawsobolewski.com
hi@przemyslawsobolewski.comwww.przemyslawsobolewski.com

Ostatnie wpisy

19 najlepszych praktyk w PHP dla początkujących.25 czerwca 2022
Pisz SOLIDny kod. Poznaj lepiej SOLID.12 września 2021
Nareszcie! Nowe funkcjonalności w PHP 8.30 czerwca 2021

Popularne wpisy

Mnożenie i dodawanie macierzy w C#6 comments
Ciąg Fibonacciego w C#.5 comments
Jak obrócić obraz w pliku .pdf ?4 comments