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

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

Referenser

Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.

Noter

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

Media som används på denna webbplats

Bridge pattern in LePUS3.1.gif
Bridge design pattern in the LePUS3 Design Description Language
Bridge UML class diagram.svg
UML class diagram for Bridge software design pattern.