Narzędzia użytkownika

Narzędzia witryny


most

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

most [2008/12/11 14:53]
gstryjew utworzono stone opisujaca wzorzec most
most [2008/12/11 16:29]
gstryjew
Linia 2: Linia 2:
 Wzorzec Mostu (ang. //Bridge pattern//) jest wzorcem strukturalnym. Wzorzec oddziela abstrakcję od jej implementacji. Pozwala to na usunięcie powiązań pomiędzy implementacją a obiektami które ją wykorzystują,​ co powoduje, że abstrakcja i implementacja mogą zmieniać się niezależnie od siebie. Wzorzec Mostu (ang. //Bridge pattern//) jest wzorcem strukturalnym. Wzorzec oddziela abstrakcję od jej implementacji. Pozwala to na usunięcie powiązań pomiędzy implementacją a obiektami które ją wykorzystują,​ co powoduje, że abstrakcja i implementacja mogą zmieniać się niezależnie od siebie.
  
-- **Zastosowanie**+====Zastosowanie====
     * Ukrycie implementacji przed klientem. Metody abstrakcji wywołują metody dostępne przez interfejs implementacji. Tworząc nową klasę pochodną Abstrakcji nie odwołujemy się bezpośrednio do implementacji,​ a jedynie do metod klasy bazowej abstrakcji, które stanowią opakowanie dla metod implementacji.     * Ukrycie implementacji przed klientem. Metody abstrakcji wywołują metody dostępne przez interfejs implementacji. Tworząc nową klasę pochodną Abstrakcji nie odwołujemy się bezpośrednio do implementacji,​ a jedynie do metod klasy bazowej abstrakcji, które stanowią opakowanie dla metod implementacji.
     * Abstrakcje i implementacje można łatwo rozbudować poprzez dodanie nowych klas pochodnych. ​     * Abstrakcje i implementacje można łatwo rozbudować poprzez dodanie nowych klas pochodnych. ​
Linia 8: Linia 8:
     * Wiele obiektów może współdzielić implementację. Abstrakcja przechowuje wskazanie na klasę bazową implementacji,​ co umożliwia wykorzystanie jednej implementacji przez wiele obiektów.     * Wiele obiektów może współdzielić implementację. Abstrakcja przechowuje wskazanie na klasę bazową implementacji,​ co umożliwia wykorzystanie jednej implementacji przez wiele obiektów.
  
-- **Struktura**\\+====Struktura====
 Zdefiniowany jest wspólny interfejs dla wszystkich konkretnych implementacji (ImplementacjaInter),​ który jest wykorzystywany przez klasę abstrakcyjną Abstrakcja. Abstrakcja przekazuje polecenia klienta do obiektu implementacji. Zdefiniowany jest wspólny interfejs dla wszystkich konkretnych implementacji (ImplementacjaInter),​ który jest wykorzystywany przez klasę abstrakcyjną Abstrakcja. Abstrakcja przekazuje polecenia klienta do obiektu implementacji.
 {{ diagrammost.jpeg |}} {{ diagrammost.jpeg |}}
  
-- **Most umożliwia:**+====Most umożliwia:====
      * oddzielenie interfejsu od implementacji      * oddzielenie interfejsu od implementacji
      * łatwą rozbudowa klas (abstrakcji i interfejsu)      * łatwą rozbudowa klas (abstrakcji i interfejsu)
      * ukrycie szczegółów implementacji przed klientem, co pozwala na zmianę implementacji bez   ​konieczności zmiany interfejsu      * ukrycie szczegółów implementacji przed klientem, co pozwala na zmianę implementacji bez   ​konieczności zmiany interfejsu
  
-- **Przykład zastosowania wzorca**\\+====Przykład zastosowania wzorca====
 Prosty program demonstrujący wykorzystanie wzorca Most do rysowania różnych kształtów z wykorzystaniem różnych bibliotek graficznych. Program ma pokazać sposób wykorzystania wzorca, nie działania bibliotek, dlatego rysowanie jest zastąpione drukowaniem tekstu na ekranie z informacją która biblioteka została użyta. Prosty program demonstrujący wykorzystanie wzorca Most do rysowania różnych kształtów z wykorzystaniem różnych bibliotek graficznych. Program ma pokazać sposób wykorzystania wzorca, nie działania bibliotek, dlatego rysowanie jest zastąpione drukowaniem tekstu na ekranie z informacją która biblioteka została użyta.
  
-- **Kod** 
 <code cpp> <code cpp>
 /​************************************** /​**************************************
most.txt · ostatnio zmienione: 2008/12/11 16:29 przez gstryjew