Skip to content

Commit

Permalink
Updated 005 - OEA
Browse files Browse the repository at this point in the history
- changed oesa (optiion enabling sofware architecture) to oea (optiion enablin architecture)
  • Loading branch information
tjohnson7021 committed Oct 17, 2024
1 parent 97c0be0 commit 782f16d
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 28 deletions.
60 changes: 60 additions & 0 deletions adr/005-oea.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# 5. Option Enabling Architecture (OEA)

Date: 2022-10-24

## Decision

We will use use OEA practices to inform how we add new features and refactor.

## Status

Accepted.

## Context

OEA is similar to [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html).
There are a couple main concepts that we strive to maintain while also being pragmatic.

1. Less important code depends on more important code. For example, third-party dependencies such as ReST
frameworks, and database ORMs. This allows for swapping out less important code without affecting the more
important code.


2. Dependency inversion. This allows the path of code execution not to follow the dependency path of
less important code depending on more important code. For example, when business logic needs to call the
database.

## Impact

### Positive

- **More flexible architecture**


- **Risk mitigation** through delayed decision-making.


- **Minimizes large-scale changes and overhauls**


- **Better maintainability**

### Negative

- **Experience May Be Required:** requires more experience to implement successfully


- **Increased initial development time**


- **Increased Planning:** requires much more forethought prior to implementation

### Risks

- **Overengineering:** potential to overengineer by keeping too many options open
- Deferred decision-making can lead to technical debt

## Related Issues

- #1
- #13
28 changes: 0 additions & 28 deletions adr/005-oesa.md

This file was deleted.

0 comments on commit 782f16d

Please sign in to comment.