Wpis z mikrobloga

Dzieeeeń dobry! ( ͡° ͜ʖ ͡°)

Czy programiści #php znają może Prawo Demeter? Jeżeli nie, to łapcie linka ()

https://gildia-developerow.pl/prawo-demeter-w-modelowaniu-domenowym/

Programowanie aplikacji biznesowych, zwłaszcza w języku PHP, bardzo często skupia się na tworzeniu dobrego modelu, odzwierciedlającego domenę aplikacji. Istnieje kilka zasad, które pomagają w utrzymywaniu modelu w dobrej kondycji. W tym wpisie pod lupę weźmiemy jedną z tych zasad, a będzie nią Prawo Demeter.

CppPolska - Dzieeeeń dobry! ( ͡° ͜ʖ ͡°)

Czy programiści #php znają może Prawo Demete...

źródło: tim-mossholder-VurHDpO4VYI-unsplash-1-scaled

Pobierz
  • 6
Oglądam na szybko ten wpis z telefonu, patrzę na kod, a tam w przykładzie anemicznym odwołanie do zmiennej, która nie istnieje (property). W drugim przykładzie to już zostało poprawione.
@CppPolska: programowanie obiektowe powoduje właśnie powstawanie takich sztucznych problemów jak to czy logika ma być w modelu czy może w serwisie. W programowaniu strukturalnym / funkcyjnym sprawa jest prosta - osobno struktury danych, osobno algorytmy operujące na danych. Dzięki temu kod jest prosty i łatwy do utrzymania, a programiści nie tracą czasu na pierdoły.
@Krolik: Hej, masz prawo tak uważać :) programowanie obiektowe ma swoje zalety takie, jak chociażby dobra testowalność czy reużywalność. No ale nie ma nigdzie napisane, by wszyscy musieli programować obiektowo ( ͡° ͜ʖ ͡°) Jeżeli dobrze piszesz strukturalnie, to to również jest OK :)
ma swoje zalety takie, jak chociażby dobra testowalność czy reużywalność.


@CppPolska: Nie. W praktyce większość prawdziwie reużywalnego kodu powstało w paradygmacie strukturalnym. Biblioteki obiektowe są znacznie trudniejsze w reużywaniu niż biblioteki strukturalne. Najczęściej obiektowe są ograniczone tylko do konkretnego języka / stosu technologicznego. Takie biblioteki Javy czy C++ użyjesz tylko w Javie/ C++. Natomiast biblioteki napisane w językach nieobiektowych jak C/Zig/Rust użyjesz wszędzie łącznie z językami obiektowymi. Dlatego też API systemów,