Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
3 posts found #archunitnet
When Is Clean Architecture Too Much? Template Cargo Cults, Interface Explosion, and a Pragmatic Path
Software Architecture PART 09

When Is Clean Architecture Too Much? Template Cargo Cults, Interface Explosion, and a Pragmatic Path

Clean Architecture is too much for CRUD-heavy, short-lived or single-adapter small services with no business rules to protect, and pays off in long-lived regions with rules and several adapters. The symptoms of template cargo cults and interface explosion, protecting the same Dependency Rule with a single project and ArchUnitNET tests, and migrating a layered project gradually with FreezingArchRule.

7 Nov 2026 13 min 4
Testing and Protecting Clean Architecture: Core Tests, Adapter Tests, and Architecture Tests
Software Architecture PART 08

Testing and Protecting Clean Architecture: Core Tests, Adapter Tests, and Architecture Tests

In Clean Architecture you test the core without a database using in-memory adapters, test the adapters against the production SQL Server with Testcontainers, and make the Dependency Rule unbreakable in CI with ArchUnitNET rules. The decimal precision problem SQLite hid, violations the compiler misses, the trap of a rule that selects nothing without Types(true), and a note that NetArchTest hasn't been updated since 2021.

7 Nov 2026 16 min 5
Keeping Architecture Healthy Over Time: Architecture Erosion and Fitness Functions
Software Architecture PART 09

Keeping Architecture Healthy Over Time: Architecture Erosion and Fitness Functions

Architectural decisions are protected not by code review but by fitness functions that run on every PR: a closed-layer rule with ArchUnitNET, a coupling threshold with a ratchet and a performance test that counts queries catch a PR that passes the build but breaks the architecture. Erosion and drift, kinds of fitness functions, a GitHub Actions step and a roadmap for the category.

7 Nov 2026 13 min 6
Blog Map