Wzorzec projektowy - przegląd
Wzorce projektowe reprezentują najlepsze praktyki stosowane przez doświadczonych programistów zorientowanych obiektowo. Wzorce projektowe to rozwiązania ogólnych problemów, z którymi borykali się programiści podczas tworzenia oprogramowania. Rozwiązania te zostały opracowane metodą prób i błędów przez wielu programistów przez dość długi okres czasu.
Co to jest Gang of Four (GOF)?
W 1994 roku czterech autorów Erich Gamma, Richard Helm, Ralph Johnson i John Vlissides opublikowało książkę zatytułowaną Design Patterns - Elements of Reusable Object-Oriented Software który zapoczątkował koncepcję Wzorca Projektowego w tworzeniu oprogramowania.
Ci autorzy są łącznie znani jako Gang of Four (GOF). Według tych autorów wzorce projektowe opierają się przede wszystkim na następujących zasadach projektowania obiektowego.
Program do interfejsu, a nie implementacja
Preferuj kompozycję obiektu zamiast dziedziczenia
Wykorzystanie wzorca projektowego
Wzorce projektowe mają dwa główne zastosowania w tworzeniu oprogramowania.
Wspólna platforma dla programistów
Wzorce projektowe zapewniają standardową terminologię i są specyficzne dla konkretnego scenariusza. Na przykład pojedynczy wzorzec projektowy oznacza użycie pojedynczego obiektu, więc wszyscy programiści zaznajomieni z pojedynczym wzorcem projektowym będą korzystać z pojedynczego obiektu i będą mogli powiedzieć sobie nawzajem, że program podąża za pojedynczym wzorcem.
Najlepsze praktyki
Wzorce projektowe ewoluowały przez długi czas i zapewniają najlepsze rozwiązania niektórych problemów napotykanych podczas tworzenia oprogramowania. Poznanie tych wzorców pomaga niedoświadczonym programistom nauczyć się projektowania oprogramowania w łatwy i szybszy sposób.
Rodzaje wzorców projektowych
Zgodnie z podręcznikiem wzorców projektowych Design Patterns - Elements of Reusable Object-Oriented Softwareistnieją 23 wzorce projektowe, które można podzielić na trzy kategorie: wzorce kreacyjne, strukturalne i behawioralne. Omówimy również inną kategorię wzorców projektowych: wzorce projektowe J2EE.
SN | Wzór i opis |
---|---|
1 | Creational Patterns Te wzorce projektowe zapewniają sposób tworzenia obiektów przy jednoczesnym ukrywaniu logiki tworzenia, zamiast tworzenia instancji obiektów bezpośrednio przy użyciu operatora new. Daje to programowi większą elastyczność w decydowaniu, które obiekty muszą zostać utworzone dla danego przypadku użycia. |
2 | Structural Patterns Te wzorce projektowe dotyczą kompozycji klas i obiektów. Pojęcie dziedziczenia służy do komponowania interfejsów i definiowania sposobów komponowania obiektów w celu uzyskania nowych funkcjonalności. |
3 | Behavioral Patterns Te wzorce projektowe są szczególnie związane z komunikacją między obiektami. |
4 | J2EE Patterns Te wzorce projektowe dotyczą w szczególności warstwy prezentacji. Te wzorce są identyfikowane przez Sun Java Center. |