← All topicsArchitecture & design
How software is structured: architectural styles, boundaries and dependencies, and how to judge whether a design fits its goals.
Start here: field guides
What Ports & Adapters is, how it differs from Clean and Onion, and how to apply it to a tool with many inputs and devices. For architects who want a testable core with less ceremony than full Clean Architecture.
→What a modular monolith is, how its modules keep their boundaries, and when it beats both a classic monolith and microservices. For architects structuring a product that several people or teams will grow for years.
→What a plug-in (microkernel) architecture is, the design decisions behind contracts, loading, isolation and versioning, and how to apply it to a configuration tool with many device families. For architects designing or reviewing extensible tools.
→What Vertical Slice Architecture is, why it organises code by request instead of by layer, and how to keep slices from turning into copy-paste. For architects weighing it against Clean Architecture or combining the two.
→What Clean Architecture is, when it fits and when it does not, and how to apply and enforce it. For architects choosing or reviewing a layered design, with a worked example for a configuration tool.
→Comparisons
A side-by-side comparison of layered, Clean, Hexagonal, Onion, Vertical Slice, Modular Monolith, Plugin and microservices, with criteria, ratings, scenarios and a decision procedure. For architects choosing or reviewing a structure.
→Playbooks
A step-by-step way to review "we chose Clean Architecture for our configuration tool" when you do not know the tool yet. What to ask, what to look for, which alternatives to raise and how to word the verdict.
→