04.2.1 · Skill in Software architecture
Modularity
Dividing a system into parts with clear responsibilities.
A modular system has parts that can be understood, tested and changed separately. Deep modules hide a lot of complexity behind a small interface. Modularity is what lets a product grow without every change touching everything.
Resources
2- articleStart herePresentation domain data layering ↗Martin Fowler · 7 min
The most common way to separate concerns in an application, and why to organize by feature at the top level.
- articleStart hereMonolith first ↗Martin Fowler · 2015 · 6 min
Why most successful systems start as one well-structured application and split only when boundaries are clear.
Tools
none yetTools for this topic are being researched.