Bridge entkoppelt eine Abstraktion von ihrer Implementierung, sodass beide unabhängig voneinander verändert werden können. änderungen verschiedener Aspekte eines Systems werden voneinander unabhängig.

siehe: GitHub - ReadMe, GOF, SHTR, PK

Klassendiagramm

Beispiel

Das Beispiel zeigt ein System, dass über einen PersonDataConnector auf Personendaten eines Fremdsystems zugreifen kann.

Dabei gibt es zwei Aspekte zu beachten:

  • Pro Quellsystem wird eine gewisse Kernfunktionalität für den Zugriff benötigt.
  • Es soll mehrere Konnektoren geben, die Funktionen basierend auf den Kernfunktionen anbieten.
  • Der Standardkonnektor erlaubt einem Client nur zu lesen, ein RwPersonDataConnector erlaubt auch den schreibenden Zugriff.

Die Bridge ermöglicht, diese Aspekte getrennt zu halten. Während ein Team für die Konnektoren zuständig ist, implementieren andere Teams bereits Implementierungen der Kernfunktionen für den Zugriff auf Systeme der Firmen HalCorp und MultiGlom.

Im Bild sehen sie die Installation bei Foobar&Sons, die ein HalCorp-CRM-System einsetzen.

Um das Zusammenspiel im Detail beobachten zu können, setzen Sie den log-level auf DEBUG in der logback.xml und führen den zugehörigen TestCase aus.

Ressourcen