The essential ideas of the Layers pattern [BMRSS96] are simple:
Organize the large-scale logical structure of a system into discrete layers of distinct, related responsibilities, with a clean, cohesive separation of concerns such that the “lower” layers are low-level and general services, and the higher layers are more application specific.
Collaboration and coupling is from higher to lower layers; lower-to-higher layer coupling is avoided.
A layer is a large-scale element, often composed of several packages or subsystems.
The Layers pattern relates to the logical architecture; that is, it describes the conceptual organization of the design elements into groups, independent of their physical packaging ...