Layered Architecture
also called N-Tier
Organising code into horizontal layers — presentation, application, domain, data — where each layer may only call the one beneath it.
The default architecture, and often the right one. It gives a clear place to put things and a rule that is easy to check, which is most of what a small team needs.
Its weakness is that layers are a technical partition, not a business one. A change to one feature touches every layer, so nothing can be deployed or reasoned about independently, and the domain layer tends to drift towards being a thin skin over the database rather than a model of the business.
Use it when the system is small enough that one team owns all of it. Reach for a domain partition — modular monolith, hexagonal, microservices — when features start changing more often than technologies do.