• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wzorce projektowe kilka w jednym projekcie

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,183 wizyt
pytanie zadane 11 grudnia 2018 w PHP przez Krzysio4224 Obywatel (1,690 p.)
Hej,

Czy można w jednym projekcie wykorzystać kilka wzorców projektowych czy wybiera się jeden i tylko go się używa?

3 odpowiedzi

+4 głosów
odpowiedź 11 grudnia 2018 przez Tomek Sochacki Ekspert (227,490 p.)
Jak najbardzie i wydaje mi się, że robisz jeden z podstawowych błędów osób początkujących - usilnie chcesz stosować jakiś wzorzec nie wiedząc do końca po co i dlaczego.

Wzorce w aplikacjach się przeplatają i tak naprawdę to generalnie nie rozmawia się o zastosowaniu konkretnego wzorca tylko buduje się cała strukturę i logikę. Choć wzorce są czasami wykorzystywane np. tak wprost przy chociażby nadawaniu nazw dla mikrousług, gdzie można dodać w nazwie -facade, -creator itp. co ułatwia trochę poruszanie się po nich jeśli takich mikrousług jest kilkadziesiąt czy kilkaset.

Ale generalnie najlepiej poczytaj sobie na spokojnie o wzorcach i zacznij robić jakąś nieco większą apkę i sam zobaczysz jak to wygląda w praktyce.
+3 głosów
odpowiedź 11 grudnia 2018 przez CenterPL Pasjonat (19,070 p.)
Hm, nie bardzo rozumiem jak chciałbyś używać tylko jednego jedynego wzorca w projekcie. Wydaje mi się, że chodzi Ci o wzorzec architektoniczny a nie projektowe.
komentarz 11 grudnia 2018 przez Krzysio4224 Obywatel (1,690 p.)
Kiedyś przeczytałem że niby nie można używać w jednym projekcie kilku wzorców projektowych np. builder, fasada, strategia
1
komentarz 11 grudnia 2018 przez CenterPL Pasjonat (19,070 p.)
To musisz ostrożniej dobierać lektury, bo to absolutna bzdura. Inną sprawą jest, tak jak napisał kolega @Tomasz Sochacki, że nie robi się tego na siłe i wszędzie gdzie tylko się da, wrzucać jakiś wzorzec projektowy. Każdy ma swoje zastosowanie i do tego powinny być używane.

Kolejna sprawa - wzorzec projektowy służy rozwiązaniu konkretnego problemu, a projekt zazwyczaj tych problemów ma wiele i nie są to te same problemy. Pamiętajmy, że mamy wzorce, które mają pomóc w komunikacji między klasami, a są też takie, które mają rozwiazać problem tworzenia poszczególnych obiektów. To są dwa różne typy problemów, w realnym projekcie nie ma tak, że masz tylko problem tworzenia albo tylko problem komunikacji, zazwyczaj pojawia się ich mnogość.
+1 głos
odpowiedź 11 grudnia 2018 przez marcin99b Szeryf (83,930 p.)
edycja 11 grudnia 2018 przez marcin99b

Tak jak napisał  Tomek Sochacki, mam wrażenie że dowiedziałeś się o wzorcach i chcesz ich używać na siłe 

Powiem tak
Zrób jakiś większy projekt... coś co będziesz rozwijał ponad miesiąc 

Miesiąc to odpowiedni czas na zrobienie czegoś w czym da się pogubić i przy czym bez odpowiednich wzorców będziesz sie ciągle wkurzać

Dopiero wtedy pomyśl nad wzorcami 
Np "gdybym tutaj użył wstrzykiwania zależności to byłoby czytelniej"
albo "gdybym tutaj użył strategii, to byłoby bardziej przyszłościowe"
albo "a gdybym tutaj wykorzystał buildera, to z zewnątrz prościej byłoby mi się odnaleźć"

Padł też temat architektury 
I tutaj wygląda to podobnie
Np nic nie stoi na przeszkodzie aby używać MVC + CQRS
Te dwa wzorce się ze sobą nie kłócą 
Masz model widok i kontroler -> masz MVC
Operacje na modelu są rozdzielone na zapis i odczyt -> masz CQRS

Podstawa to odpowiednie dopasowanie architektury do projektu 
Przykładowo nie ma sensu tworzenie zaawansowanej architektury co zajmie ci kilka godzin 
Jeśli aplikacją ma być "prosty kalkulator", w tym przypadku to byłaby sztuka dla sztuki

Podobne pytania

0 głosów
0 odpowiedzi 277 wizyt
pytanie zadane 18 listopada 2021 w C# przez Zaba096 Początkujący (260 p.)
+1 głos
1 odpowiedź 913 wizyt
pytanie zadane 27 września 2019 w Python przez kombin4tor Nowicjusz (130 p.)
0 głosów
0 odpowiedzi 208 wizyt
pytanie zadane 30 stycznia 2017 w Python przez Macek Kolo Mądrala (5,480 p.)

93,194 zapytań

142,206 odpowiedzi

322,051 komentarzy

62,519 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 3053p. - dia-Chann
  2. 2998p. - Łukasz Piwowar
  3. 2993p. - Łukasz Eckert
  4. 2970p. - CC PL
  5. 2930p. - Tomasz Bielak
  6. 2907p. - Łukasz Siedlecki
  7. 2890p. - rucin93
  8. 2801p. - Adrian Wieprzkowicz
  9. 2645p. - Mikbac
  10. 2485p. - Marcin Putra
  11. 2461p. - Michał Telesz
  12. 2418p. - Michal Drewniak
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1650p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...