Praktyczne przyklady wzorcow projektowych.

0

Witam,

Moze ktos polecic jakis dobry artykul na temat wzorcow projektowych? Tylko nie takie teoretyczne. Znam kilka wzorcow, ale i tak malo mi to daje. A czeasem jak mam dodac jakis nowy powiedzmy package to troche ciezko zdecydowac sie na wzorzec.

Np ostatnio robilem export danych z DB do SFTP. I tutaj mialem podzielilem sobie klasy na modele oraz mapery. Modele zbieraly mi dane z bazy danych a mapper lczyl wszystko zaposywal w tymczasowych pliku i wysylal na serwer SFTP, ale troche mi sie to nie podoba. Jest kilka maly szczegolow, ktore nie jestem pewny jak rozwiazac.

1

Może pokaż kod, to coś podpowiemy?

0

@TomRiddle: Tak generalnie chce poduczyc sie z wzorcow projektowych. Np w przykladzie powyzej moglem uzyc ArrayObject, ale na poczatku tego nie widzialem teraz to widze. Projekt w ktorym pracuje ma duzo paczek. Jak tworzymy cos nowego zazwyczaj tworzymy nowy folder i wrzucamy wszystko do folder. I chce podszkolic sie ze wzorcow, zeby wiedziec jak pakowac te klasy. W szczegolnosci, ze pracuje teraz na PDO. Nie mamy zadnego ORM'a. Wiec duzo zapytan piszemy, niektore dosc podobne, moze nawet powtarzajace sie. Do tego nie mamy klasy ktora mapuje te zapytanie. I teraz jak mam cos robic to albo mam tablice albo musze tworzyc nowa klase pod moje zapytanie, zeby jakos to wygladalo...

0
poniatowski napisał(a):

@TomRiddle: Tak generalnie chce poduczyc sie z wzorcow projektowych. Np w przykladzie powyzej moglem uzyc ArrayObject, ale na poczatku tego nie widzialem teraz to widze. Projekt w ktorym pracuje ma duzo paczek. Jak tworzymy cos nowego zazwyczaj tworzymy nowy folder i wrzucamy wszystko do folder. I chce podszkolic sie ze wzorcow, zeby wiedziec jak pakowac te klasy. W szczegolnosci, ze pracuje teraz na PDO. Nie mamy zadnego ORM'a. Wiec duzo zapytan piszemy, niektore dosc podobne, moze nawet powtarzajace sie. Do tego nie mamy klasy ktora mapuje te zapytanie. I teraz jak mam cos robic to albo mam tablice albo musze tworzyc nowa klase pod moje zapytanie, zeby jakos to wygladalo...

No na zapytania sql, to niestety jedynym sensownym wyjściem jest raczej tylko ORM. Gdzieś informacja o strukturze tabeli musi być, najczęściej jest do tego klasa - model. Nie sądzę żeby było inne, lepsze wyjście.

Co do wzorców, nie zawsze musisz z nich korzystać. Często do dobrej struktury i jakości kodu wystarczy SOLID :) Najbardziej chyba SRP i DI. Zacznij od Solid - Polecam :)

0

Zainteresuj się Domain Driven Design które samo w sobie nie jest wzorcem, a podejściem do programowania systemów, aby jak najlepiej odzwierciedlały rzeczywistość. Podejście DDD zaleca szereg wzorców projektowych, na szybko znalazłem taki dokument opisujący z grubsza, po polsku, DDD: https://bottega.com.pl/pdf/materialy/ddd/ddd1.pdf

W PHP niekoniecznie trzeba stosować całość DDD, ale przynajmniej niektóre wzorce są użyteczne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1