Layer (object-oriented design)
Encyclopedia
In object-oriented design, a layer is a group of class
Class (computer science)
In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...

es that have the same set of link-time module dependencies to other modules. In other words, a layer is a group of reusable components that are reusable
Reusability
In computer science and software engineering, reusability is the likelihood a segment of source code that can be used again to add new functionalities with slight or no modification...

 in similar circumstances. In programming languages, the layer distinction is often expressed as "import" dependencies between software modules.

Layers are often arranged in a tree
Tree (data structure)
In computer science, a tree is a widely-used data structure that emulates a hierarchical tree structure with a set of linked nodes.Mathematically, it is an ordered directed tree, more specifically an arborescence: an acyclic connected graph where each node has zero or more children nodes and at...

-form hierarchy
Hierarchy
A hierarchy is an arrangement of items in which the items are represented as being "above," "below," or "at the same level as" one another...

, with dependency relationships as links between the layers. Dependency relationships between layers are often either inheritance
Inheritance (computer science)
In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...

, composition
Object composition
In computer science, object composition is a way to combine simple objects or data types into more complex ones...

 or aggregation relationships, but other kinds of dependencies can also be used.

Layers is an architectural pattern
Architectural pattern (computer science)
An architectural pattern in software is a standard design in the field of software architecture. The concept of a software architectural pattern has a broader scope than the concept of a software design pattern...

 described in many books, for example Pattern-Oriented Software Architecture

See also

  • Architectural layer
  • Common layers in an information system logical architecture
    Common layers in an information system logical architecture
    The following four layers are the most common layers in a logical multilayered architecture for an information system with an object-oriented design:* User Interface Layer...

  • Shearing layers
    Shearing layers
    Shearing layers is a concept coined by architect Frank Duffy which was later elaborated by Stewart Brand in his book How Buildings Learn: What Happens After They’re Built , and refers to buildings as composed of several layers of change....

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK