File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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.
You can’t perform that action at this time.
0 commit comments