layer | communicates using procedure calls or by inter-process communication where the lower layers can become servers and the higher layers can become clients | ![2001-08-30 14:56:26.0](facet.gif) |
has definition A subsystem that provides a set of services and has layer cohesion | ![2001-08-30 14:56:26.0](facet.gif) |
has example The set of related services which could form a layer might include:- Services for computation
- Services for transmission of messages or data
- Services for storage of data
- Services for managing security
- Services for interacting with users
- Services provided by an operating system
- Services provided directly by the hardware
| ![2001-08-30 14:56:26.0](facet.gif) |
has well-defined interface that is used by layer immediately above | ![2001-08-30 14:56:26.0](facet.gif) |
is a subtopic of 9.2 - Principles Leading to Good Design | ![2001-08-30 14:56:26.0](facet.gif) |
is often divided into smaller subsystems | ![2001-08-30 14:56:26.0](facet.gif) |
is part of multi-layer system | ![2001-08-30 14:56:26.0](facet.gif) |
is a kind of component | ![2001-08-30 14:56:27.0](facet.gif) |
only communicates with the layer immediately below it | ![2001-08-30 14:56:27.0](facet.gif) |
sees a lower layer as a set of services it can use | ![2001-08-30 14:56:27.0](facet.gif) |
usually provides services through an API | ![2001-08-30 14:56:27.0](facet.gif) |
component | is reusable if it can be used in several different systems with little or no modification | ![2001-08-30 14:55:00.0](facet.gif) |
may perform a special-purpose function such as the user interface for a particular system | ![2001-08-30 14:55:00.0](facet.gif) |