Skip to content

Commit 3429a3b

Browse files
author
James Blair
committed
Add ADR for clean architecture adoption
1 parent 1cb187a commit 3429a3b

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# 2. Adopt clean architecture
2+
3+
Date: 2025-11-07
4+
5+
## Status
6+
7+
Accepted
8+
9+
## Context
10+
11+
Software products with non-trivial business logic and requirements for increased
12+
flexibility benefit from an architecture that maximizes modularity and testability,
13+
while minimizing the cost and risk of change. With this Summer EBT product, we seek to
14+
maximize reuse across states where possible, while maintaining flexibility for state-specific
15+
context and needs.
16+
17+
## Decision
18+
19+
We have agreed to implement the C#/.NET components of this product using the Clean
20+
Architecture approached popularized by Steve Smith (ardalis). Our approach is heavily
21+
inspired by the content and resources Steve has published:
22+
- [Clean Architecture with ASP.NET Core 8 | .NET Conf 2023 (YouTube)](https://www.youtube.com/watch?v=yF9SwL0p0Y0)
23+
- [Clean Architecture With ASP.NET Core — Steve Smith (YouTube)](https://www.youtube.com/watch?v=qOwB8PxOqC0)
24+
- [Clean Architecture with ASP.NET Core — Steve Smith (Blog Post)](https://ardalis.com/clean-architecture-asp-net-core/)
25+
- [Clean Architecture Sample Repository](https://github.com/ardalis/CleanArchitecture)
26+
27+
## Consequences
28+
29+
There is a small learning curve to building with this pattern for contributor who
30+
are unfamiliar with the approach, but overall the code for the product becomes significantly
31+
more maintainable, with core business logic easy to unit test, and a reduced risk from change.

0 commit comments

Comments
 (0)