Architecture & practice·Design, structure and tradeoffs
the controller called the database directly and three people commented on the pull request.
Layered architecture
Also calledn-tier, layering
Arranging code so that each layer may only call the one beneath it — typically interface, application, domain, infrastructure. It gives you a rule that can be checked rather than an aesthetic, which is why layering violations are one of the few design arguments a linter can settle. Layers stop paying when they become pass-through: four layers that each rename a field are ceremony, not structure.