What is the Layered Architecture pattern?
Layered Architecture organizes an application into logical layers such as presentation, application/business logic, and data access. Each layer has a defined responsibility and normally communicates with adjacent or permitted layers.