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.
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.