Wzorce projektowe

Ktoś korzysta z wzorców? Ja nadal nie mogę się przełamać, by spróbować,może pisze zbyt mało skomplikowane rzeczy.

  • Rzeczywiście, na początku też miałem opory - po pierwsze konieczność analizowania czyjegoś toku myślenia, który nie zawsze pokrywa się z naszym. Po drugie brak zaufania co do cudzych rozwiązań, wreszcie podrażniona ambicja, że nie zrobiłem tego sam. Jednak efekty warte są tych poświęceń - oszczędność czasu na analizie, programowaniu i testach, a także zdobywanie nowej wiedzy. Po co wyważać otwarte drzwi?

  • Większość z nas używa wzorców projektowych nieświadomie. Piszesz coś i nagle okazuje się, że ktoś inny zrobił to w dokładnie taki sam sposób. Problemem w tym aby zacząć używać ich świadomie. Poznać ich nazwy, zrozumieć do czego służą i w jakich okolicznościach się przydają, a kiedy okazują zupełnie nieprzydatne.

  • Ze wzorców zdarzyło mi się skorzystać kilka razy i muszę przyznać, ze pozwoliło mi to rozwiązać problemy nad którymi siedziałem już jakiś czas. Jednakże takie wzorce nie zawsze spełniają nasze oczekiwania i wtedy warto się zastanowić, czy szybciej napiszemy wszystko od nowa po swojemu, czy lepiej bezie wgryźć się w kod takiego wzorca i dociekać co autor miał na myśli i dokonać niezbędnych modyfikacji. Nie zmienia to jednak faktu, że warto takie wzorce znać, ewentualnie wiedzieć gdzie ich szukać.

  • Może to będzie i nieskromne, ale na swoim blogu opisałem wszystkie wzorce bandy czworga z krótkimi przykładami w javie. Starałem się je opisywać zrozumiale. Aktualnie staram się przełożyć wszystkie na przykładzie języka ruby, może uda mi się przed wakacjami to zrobić. :) link tutaj. Zapraszam do lektury.

  • Ja nie używałem wzorców dopóki nie zacząłem programować przy użyciu frameworków. Narzucają one pewne zachowania i muszę przyznać, że wychodzi to na dobre. Jeśli chodzi o same stosowanie wzorców projektowych to myślę, że do tego trzeba po prostu dojrzeć. Z drugiej strony często jest tak, że używamy wzorców nie wiedząc nawet o tym :)

  • Warto korzystać z wzorców projektowych choćby dlatego, że są one sprawdzone, a w dodatku pewne i często szybsze niż własne pomysły. Jeżeli chciałbyś się nauczyć więcej o pracy z wzorcami to warto przeczytać dwie pozycje z jak dla mnie doskonałej serii wydawniczej HeadFirst są to na początek Object-Oriented Analisis and Design traktujący o analizie i projektowaniu aplikacji obiektowych oraz Design Patterns mówiący już o samych wzorcach. Książki napisane z przykładami w Javie ale każdy kto choć trochę zna C++, C# czy Pythona spokojnie powinien sobie poradzić z tą literaturą, która napisana jest w dobry i łatwo przekazujący wiedzę sposób.

  • Dodam , że Design Patterns jest spokojnie dostępny w Helionie skąd go zakupiłem z OOA&D jest trochę trudniej choć i tej jestem właścicielem warto jednak poszukać.

  • W którejś z wymienionych wyżej książek jest napisane zdanie, które utrwaliło mi sie w pamięci: "Im więcej spędzimy czasu nad projektem aplikacji, tym krócej potem będziemy programować". Korzystanie z wzorców jest jak najbardziej zalecane, chociaż dość ciężkie gdy dopiero się zaczyna programować.

  • Warto dodać, że choć wzorce to świetna sprawa, to jednak przesadny zachwyt nimi może doprowadzić do sytuacji, w której nasz problem na siłę będziemy starali się dopasować do jakiegoś wzorca. Wzorce powinny ułatwić nam zmagania z określonymi problemami, wydaje mi się, że tak naprawdę docenią je jedynie ci, którzy spędzili długie godziny nad problemem, który wspaniale dało się rozwiązać przy pomocy któregoś z wzorców.

  • Przeczytaj jakąś książkę o wzorcach np. Head First. Jeżeli zrozumiesz już jak działają wzorce projektowe to w każdym kroku Twojego projektu, nawet najmniejszego będziesz w stanie skorzystać z tych wzorców. Zapewne i tak używasz w swoich projektach ekwiwalentów wzorców, jednak wiedz że użycie prawdziwych daje o wiele większą elastyczność i uchroni Cię przed wieloma problemami.

    Powinieneś nacisnąć kciuk do góry jeżeli ta odpowiedź Ci się podoba. Z góry dziękuję.

Zaloguj się, aby dodać swoją odpowiedź