En el diseño orientado a objetos de software , una capa es un grupo de clases que tienen el mismo conjunto de dependencias de módulo en tiempo de enlace con otros módulos. [1] En otras palabras, una capa es un grupo de componentes reutilizables que se pueden reutilizar en circunstancias similares. En los lenguajes de programación, la distinción entre capas se expresa a menudo como dependencias de "importación" entre módulos de software.
Las capas suelen estar organizadas en una jerarquía en forma de árbol , con relaciones de dependencia como vínculos entre las capas. Las relaciones de dependencia entre capas suelen ser relaciones de herencia , composición o agregación , pero también se pueden utilizar otros tipos de dependencias.
Capas es un patrón arquitectónico descrito en muchos libros, por ejemplo, Arquitectura de software orientada a patrones [2].