Wzorce projektowe w Pythonie - wprowadzenie
Wzorce projektowe służą do reprezentowania wzorca używanego przez programistów do tworzenia oprogramowania lub aplikacji internetowej. Te wzorce są wybierane na podstawie analizy wymagań. Wzorce opisują rozwiązanie problemu, kiedy i gdzie zastosować rozwiązanie oraz konsekwencje wdrożenia.
Struktura wzorca projektowego
Dokumentacja wzorca projektowego jest prowadzona w sposób, który bardziej koncentruje się na używanej technologii i sposobach. Poniższy diagram wyjaśnia podstawową strukturę dokumentacji wzorca projektowego.
Nazwa wzoru
Opisuje wzór w krótki i efektowny sposób.
Zamiar / motyw
Opisuje, co robi wzór.
Możliwość zastosowania
Opisuje listę sytuacji, w których ma zastosowanie wzorzec.
Uczestnicy i konsekwencje
Uczestnicy obejmują klasy i obiekty, które uczestniczą we wzorcu projektowym wraz z listą konsekwencji, które istnieją w tym wzorcu.
Dlaczego Python?
Python to język skryptowy typu open source. Posiada biblioteki obsługujące różne wzorce projektowe. Składnia Pythona jest łatwa do zrozumienia i wykorzystuje angielskie słowa kluczowe.
Python obsługuje listę wzorców projektowych wymienionych poniżej. Te wzorce projektowe będą używane w całym tym samouczku -
- Wzorzec kontrolera widoku modelu
- Wzór singleton
- Wzór fabryczny
- Wzorzec konstruktora
- Wzór prototypowy
- Wzór elewacji
- Wzorzec polecenia
- Wzór adaptera
- Wzór prototypowy
- Wzór dekoratora
- Wzorzec proxy
- Wzór łańcucha odpowiedzialności
- Wzorzec obserwatora
- Wzór stanu
- Wzorzec strategii
- Wzór szablonu
- Wzór wagi muszej
- Abstrakcyjny wzór fabryki
- Wzór zorientowany obiektowo
Korzyści z używania wzorca projektowego
Poniżej przedstawiono różne zalety wzorca projektowego -
Wzorce zapewniają programiście wybór wypróbowanych i przetestowanych rozwiązań określonych problemów.
Wszystkie wzorce projektowe są neutralne językowo.
Wzorce pomagają w komunikacji i utrzymaniu dobrej dokumentacji.
Zawiera zapis osiągnięć w celu zmniejszenia ryzyka technicznego projektu.
Wzorce projektowe są bardzo elastyczne w użyciu i łatwe do zrozumienia.