Layered Architecture

Also called Mud-to-Structure

Problem

A library or subsystem is composed of many classes that are highly technical and difficult to understand and use.

Solution

Introduce a layer of more abstract classes that hide the technical details of the lower layer. We can repeat this procedure as often as we like. The result is an N-layer architecture.

Structure

Behavior

Layer N methods call layer N - 1 methods, but not layer N - 2 methods.

Discussion

The layered architecture was popularized by UNIX.

The Internet Architecture consists of the following layers:

Application Layer
Transport Layer
Internet Layer
Network Layer
Data Link Layer
Physical Layer

The Multi-Tier architecture (described below) can be viewed as a multi-layered architecture.

The following layered architecture is typical of many business applications:

Clearly this is just an elaboration of the Model-View-Control architecture where Business Data means Application Data (model), Business Logic means Application logic (control), and User Interface means Presentation Logic (view).