Design patterns Samouczek
Pierwsze kroki ze wzorami projektowymi
Szukaj…
Uwagi
Ta sekcja zawiera przegląd wzorców projektowych i dlaczego deweloper może chcieć ich użyć. Przykłady mogą zapewniać graficzną reprezentację wzorca, scenariusz składający się z problemu w kontekście, w którym wzorzec może być użyty, i wspominać o możliwych kompromisach.
Powinien również wymieniać wszelkie duże tematy w ramach wzorców projektowych i odnosić się do powiązanych tematów. Ponieważ dokumentacja wzorców projektowych jest nowa, konieczne może być utworzenie początkowych wersji tych pokrewnych tematów.
Wprowadzenie
Według Wikipedii :
[A] wzorzec projektowania oprogramowania jest ogólnym rozwiązaniem wielokrotnego użytku dla często występującego problemu w danym kontekście w projektowaniu oprogramowania. To nie jest gotowy projekt, który można przekształcić bezpośrednio w kod źródłowy lub maszynowy. Jest to opis lub szablon rozwiązania problemu, który można wykorzystać w wielu różnych sytuacjach. Wzorce projektowe to sformalizowane najlepsze praktyki, których programiści mogą używać do rozwiązywania typowych problemów podczas projektowania aplikacji lub systemu.
(Źródło: 13.10.2016)
Istnieje wiele uznanych wzorców projektowania oprogramowania, a nowe są regularnie proponowane. Inne tematy obejmują wiele najczęstszych wzorców, a artykuł w Wikipedii zawiera obszerniejszą listę.
Podobnie istnieją różne sposoby klasyfikowania wzorów projektowych, ale pierwotna klasyfikacja to:
- Wzory kreacyjne : Factory , Builder , Singleton itp.
- Wzory strukturalne : adapter , kompozyt , proxy itp.
- Wzorce zachowań : Iterator , strategia , gość itp.
- Wzorce współbieżności : ActiveObject, Monitor itp.
Idea wzorców projektowych została rozszerzona na wzorce projektowe dla domen, takie jak projektowanie interfejsu użytkownika, wizualizacja danych, bezpieczne projektowanie, projektowanie stron internetowych i projektowanie modeli biznesowych.
Wreszcie istnieje pokrewna koncepcja zwana wzorcem architektury oprogramowania, która jest opisywana jako analogia do wzorców projektowych stosowanych w architekturach oprogramowania.