Czy znajomość wzorców projektowych to power up?

0

Witam. Mam pytanie (myślę, że w odpowiednim dziale) dla doświadczonych programistów, tzn. pracujących w zawodzie.
Jak bardzo przydaję się znajomość wzorców projektowych ? Tzn. Czy napotykając na jakiś problem, macie już w głowie " ta klasa powinna być [np. singletona] " ?

5

Bardzo się przydaje. Ale nie chodzi o znajomość nazwy tylko o to jak ten wzorzec (lub anty-wzorzec) wygląda.

Z tym że jest kilka rodzajów wzorców:

  • książkowe podstawowe (np. z GoF)
  • praktyczne nazwane (np. DAO, Service lub Stateless Session Bean w Java, polityka w C++)
  • praktyczne nienazwane (np. szablon JDBC w Spring - to klasa ale również wzorzec do zastosowania)
2

Bardzo, ale rzadko w taki sposób jak opisałeś. Po prostu mając pewien problem wiesz jak go ugryźć, bo jest podobny do czegoś co rozwiązuje jakiś wzorzec. W efekcie "samo się robi".

4

Znajomość wzorców to nie jest "power up" tylko "must have".

2

jak dla mnie na wiele wzorców się wpada samoistnie programujac albo podpatrujac cudze kody. Dlatego nawet nie jest to must have, ale raczej normalna konsekwencja, ze sie ma jakies doswiadczenie w programowaniu. Oczywiscie, nie na wszystko sie wpadnie samemu i teoria tez sie przydaje.

Ale tez nie nalezy wpadac wg mnie w pulapke nauki wzorcow tylko z ksiazek. Bo to czy dana klasa powinna byc jakas/siakas, i jaki wzorzec nalezaloby zastosowac nie powinno wynikac z tego ze wyczytales o tym w ksiazce, tylko raczej z twojego doswiadczenia. (jest tez tak, ze kazdy wzorzec ma swoje zalety i wady i zaden wzorzec nie jest zlotym srodkiem, czy powiekszajacym grzybkiem z Mario. Bardziej jak mlotek, srubokret. Mlotek jest dobry do gwozdzi,cale juz srub nim nie wkrecisz i vice versa. Tylko o tym, ktore narzedzia sa jakie sie przekonujesz programujac i probujac rozne rzeczy.

Ja mam czesto tak, ze jak czytam o ciekawym wzorcu, ktorego nie znalem, to potem sie nim jaram i staram wykorzystywac w roznych miejscach, wszedzie praktycznie, Potem dopiero odkrywam, ze nie wszedzie dsny wzorzec sie nadaje, i poznaje (eksperymentalnie) jego ograniczenia albo trudnosci. Dopiero wtedy, jak przetestuje iles wzorcow w podobnych sytuacjach, to jestem w stanie stwierdzic "tutaj pasowalby wzorzec X". Inaczej to by byly czyste spekulacje...

0

A to ja podepnę się pod pytanie: możecie polecić jakąś literaturę w tej tematyce ? Ew. jakieś sprawdzone materiały w sieci.

2

Generalnie wzorce projektowe to teoria. Jednak doświadczony programista intuicyjnie tworzy kod mniej lub bardziej zgodny z powszechnie znanymi wzorcami projektowymi (np. pula obiektow, strategia, metoda fabryczna jako lepsza alternatywa dla konstruktora).

2
hipekk napisał(a):

A to ja podepnę się pod pytanie: możecie polecić jakąś literaturę w tej tematyce ? Ew. jakieś sprawdzone materiały w sieci.

Wg dobra książka to http://helion.pl/ksiazki/wzorce-projektowe-rusz-glowa-elisabeth-freeman-eric-freeman-bert-bates-kathy,wzorrg.htm

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