Brygga (designmönster)

Från Wikipedia
Hoppa till: navigering, sök

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]

Bridge UML class diagram.svg

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
Brygga i LePUS3 (förklaring)

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]

  1. ^ Gamma, E, Helm, R, Johnson, R, Vlissides, J: Design Patterns, page 151.