layer cohesion | allows side-effects | ![2001-08-30 14:56:27.0](facet.gif) |
has definition A form of cohesion in which the facilities for providing or accessing a set of services through an API or hardware interface are kept together. There must also be a strict hierarchy in which higher level layers can access only lower-level layers. In other words, the system is effectively divided into layers | ![2001-08-30 14:56:27.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:27.0](facet.gif) |
is a subtopic of 9.2 - Principles Leading to Good Design | ![2001-08-30 14:56:27.0](facet.gif) |
is a kind of cohesion | ![2001-08-30 14:56:27.0](facet.gif) |
requires that the layers must form a hierarchy - higher layers can access services of lower layers, but it is essential that the lower layers do not access higher layers | ![2001-08-30 14:56:27.0](facet.gif) |
simplifies systems | ![2001-08-30 14:56:27.0](facet.gif) |
cohesion | has precedence table | ![2001-08-30 14:54:55.0](facet.gif) |
software quality | is hard to assess | ![2001-08-30 14:57:42.0](facet.gif) |