Skip to content

Plugin-based architecture

Status

Revoked by ADR 0009.

Context

With recurring requirements, a desire grows to avoid repetition and reuse components. This can be implemented with a plugin-based architecture to create new map clients and have the most common features already done.

Decision

An architecture for the client has been designed that models how we get to re-use functionality without re-writing it while still being open for extensions. The following graphic explains the architecture in further detail.

polar-2-architecture

Consequences

  • (+) Higher quality of features since multiple parties use them.
  • (+) Implement once, use multiple times.
  • (+) Parts are easier to exchange/develop, and not all clients are required to update immediately.
  • (-) More difficult to understand the codebase.