Inżynieria oprogramowania

Phunc / funkcjonalna implementacja PHP w teorii


W tym artykule przedstawiam powody dla których decyduję się na używanie implementacji phunc.

Phunc / funkcjonalna implementacja PHP w teorii

Zasady tworzenia

Najmniejszą zmienną jest obiekt, nie deklaruje się typów prostych, tylko obiekty

Najmniejsza funkcją jest klasa, każda nowa funkcjonalność jest implementowana jako nowa oddzielna klasy.

Istnieją tylko poprawne dane, każdy obiekt, który istnieje jest poprawny, zwalidowany w konstruktorze

Cechy kodu

  • Funkcyjność
    Funkcyjne programy daje wiele korzyści, neistety nie każdy język pozwala na łatwą implementację
  • Obiektowość
    Daje przewagę w określaniu struktur modeli danych i powiązań między nimi
  • Funkcyjne reprezentacje klasy
    Połączenie obu technik tworzenia oprogramowania daje rezultat w postaci tworzenia jak z klocków, gdzie dane i funkcje mogą być łatwo zastępowana.
  • Single responsibility
    Poprzez tworzenia klasy jako reprezentacji jednej funkcjonalności, łatwo poprzez jej nazwę można zdefiniować jej przeznaczenie.

Dlaczego tworzenie jednej klasy/funkcjonalności jest korzystniejsze niż tworzenie klasy z wieloma metodami?

  • refaktoryzacja, łatwe przenoszenie/zastępowanie pojedynczych funkcjonalności
  • płaska struktura, waga struktury i koszty jej utrzymania nie są w ogóle brane pod uwagę przy tworzeniu aplikacji.
    Utrzymanie, edycja, zmiana struktury jest jednym z głównych problemów przy refaktorzyacji

Przy wykorzystaniu namespace i tworzeniu małych bibliotek, nie jest problemem płaska struktura z kilkunastoma plikami w folderze.
Podczas gdy projekt rośnie i ulega specjalizacji, łatwe staje się przeniesienie jednej klasy do innego projektu, niż przenoszenie metody, lub zmiany postaci klasy.

Tom
Tagi: ,