A pragmatic software architecture approach called 'Tomato Architecture' is proposed as a reaction to over-engineering in enterprise applications. The author argues that Clean/Onion/Hexagonal architectures are often misapplied, that unit-test-only strategies give false confidence, and that simplicity wins long-term. Eight concrete guidelines are outlined: package by feature, keep application core independent of delivery mechanisms, separate business logic from input sources, limit external service influence on core, keep domain logic in domain objects, avoid unnecessary interfaces, embrace framework capabilities, and test whole features with real dependencies using tools like Testcontainers.
Table of contents
The challenges in learning DDD, Clean/Onion/Hexagonal ArchitecturesMotivations for Tomato ArchitectureIntroducing Tomato ArchitectureSummarySort: