Layer

A layer is ...

Layering appear in machine architectures, where layers descend from a programming language with operating system calls into device drivers and CPU instruction sets, and into logic gates inside chips. Networking has FTP layered on top of TCP, which is on top of IP, which is on top of the ethernet. [1]

Contents

1   Function

Layering is a technique for breaking apart a complicated software system.

Benefits:

Downsides:

2   Substance

In a layered system, the higher layer uses the services provided by the lower layer, but the lower layer is unaware of the higher layer. Each layer hides lower layers from the layers above. [1]

The hardest part of a layered architecture is deciding what layers to have and what their responsibilities should be.

3   References

[1](1, 2) Martin Fowler. 2002. Patterns of Enterprise Architecture.