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
[redigera | redigera wikitext]Implementationen kan frikopplas ännu mer genom att senarelägga implementationens genomförande till den grad att abstraktionen utnyttjas.
Struktur
[redigera | redigera wikitext]- 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
![](http://178.128.105.246/host-http-upload.wikimedia.org/wikipedia/commons/a/a8/Bridge_pattern_in_LePUS3.1.gif)
Se även
[redigera | redigera wikitext]Referenser
[redigera | redigera wikitext]- Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.
Noter
[redigera | redigera wikitext]- ^ Gamma, E, Helm, R, Johnson, R, Vlissides, J: Design Patterns, page 151.
|