 In programming languages, the layer distinction is often expressed as "import" dependencies between software modules.Layers are often arranged in a tree-form hierarchy, with dependency relationships as links between the layers.Dependency relationships between layers are often either inheritance, composition or aggregation relationships, but other kinds of dependencies can also be used.