Skip to content

Commit

Permalink
Added exemplary ADR
Browse files Browse the repository at this point in the history
  • Loading branch information
rieglerthomas committed Apr 14, 2024
1 parent 63fe642 commit c446231
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions adrs/01011900-example.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
(This example was taken from https://www.ozimmer.ch/practices/2022/11/22/MADRTemplatePrimer.html, last visited on 14 April 2024)

# AD: System Decomposition into Logical Layers
**Decider:** Max Mustermann

## Context and Problem Statement
Which concept is used to decompose the system under construction into logical building blocks?

## Decision Drivers
Desire to divide the overall system into manageable parts to reduce complexity
Ability to exchange system parts without affecting others

## Considered Options
Layers pattern
Pipes-and-filters
Workflow

## Decision Outcome
We decided to apply the Layers pattern and neglected other decomposition pattern such as pipes-and-filters or workflow because the system under construction and its capabilities do not suggest an organization by data flow or control flow. Technology is expected to be primary driver of change during system evolution.

## Consequences
Good, because the Layers pattern provides high flexibility regarding technology selections within the layers (changeability) and enables teams to work on system parts in parallel.
Bad, because there might be a performance penalty for each level of indirection and some undesired replication of implementation artifacts.

## More Information
The three decomposition options come from the Cloud Computing Pattern Distributed Application.
The Layers pattern is featured in POSA Volume 1, see http://www.dre.vanderbilt.edu/~schmidt/POSA-tutorial.pdf

A follow-on decision will be required to assign logical layers to physical tiers.

0 comments on commit c446231

Please sign in to comment.