Deep Dive
Overview
When to read deep dive and where to start.
Deep Dive is for people who already understand the basics and want answers to "why it works this way." You do not have to read it cover to cover. Pick the question that came up in review or in a debate with a teammate.
If DMA is new to you, start with What is DMA and Four invariants. You can come back here later.
Question → article
| Question | Article |
|---|---|
Why forbid index.ts re-exports? | Why no barrel files |
| Why not widgets/entities like in FSD? | Why two module layers |
| Where does the cart go — services or shared? | Services vs Shared |
| How is DMA different from FSD? | DMA vs FSD |
| Why a CLI if ESLint exists? | Why CLI, not only linters |
| What does DMA not solve? | What DMA does not do |
| Where should a new file go? | Placement |
Recommended order
If you do read it in sequence:
- Why two module layers — layer philosophy
- Why no barrel files — graph transparency
- Services vs Shared — the only "gray" boundary
- Why CLI, not only linters — enforcement
- DMA vs FSD — comparison with an alternative
Relation to concepts
| Deep Dive | Base article |
|---|---|
| Barrel files | Modules and public API |
| Two layers | Layers |
| Services vs Shared | Shared, Code evolution |
| CLI vs linters | Tooling overview |