Brygga (designmönster)
Brygga (bridge på engelska) är ett designmönster som används inom programvaruutveckling som innebär att "frikoppla en abstraktion från dess implementation så att de två kan variera självständigt".[1] Brygga använder inkapslingar, aggregation och kan använda arv för att fördela ansvar till olika klasser.
När en klass varierar ofta kan egenskaperna av objekt-orienterad programmering vara riktigt användbara eftersom ändringar i ett programs källkod kan enkelt göras med liten kunskap om programmet. Brygga är användbart när både klassen och vad den gör varierar ofta. Själva klassen kan ses som implementationen och vad klassen kan göra som abstraktionen. Brygga kan även ses om två lager av abstraktion.
När det bara finns en bestämd implementation är mönstret känt som Pimpl-idiomet i C++-världen.
Brygga blandas ofta ihop med designmönstret adapter. I själva verket implementeras ofta brygga med hjälp av adapter.
Variant
Implementationen kan frikopplas ännu mer genom att senarelägga implementationens genomförande till den grad att abstraktionen utnyttjas.
Struktur
- Abstraction (abstrakt klass)
- definierar det abstrakta gränssnittet
- upprätthåller referensen Implementor.
- RefinedAbstraction (normal klass)
- förlänger gränssnittet som definierats av Abstraction
- Implementor (gränssnitt)
- definierar gränssnittet för implementationsklasser
- ConcreteImplementor (normal klass)
- implementerar gränssnittet Implementor
Se även
Referenser
- Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.
Noter
- ^ Gamma, E, Helm, R, Johnson, R, Vlissides, J: Design Patterns, page 151.
|
Media som används på denna webbplats
Bridge design pattern in the LePUS3 Design Description Language
UML class diagram for Bridge software design pattern.