Estilo arquitectónico capas

La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño.[1]


Cuando trabajamos sobre aplicaciones web uno de los estilos arquitectónicos utilizado es el estilo Capas. En este estilo pueden utilizarse varias variantes, con 2 capas, 3 capas y hasta n capas, siendo el más común el de 3 capas.





La ventaja principal de este estilo arquitectónico es que en caso de que sobrevenga algún cambio, sólo se ataca al nivel requerido sin tener que revisar entre código mezclado.

La capa de presentación: es la encargada de interactuar con el usuario y se corresponde con lo que tradicionalmente se conoce como interfaz de usuario, esta capa se comunica únicamente con la capa de negocio. Un formlario,ejemplo de una capa de presentación:



Una buena regla general para determinar si la capa de presentación está suficientemente limpia de código es que debería contener una cantidad mínima de código PHP, la suficiente como para que un diseñador HTML sin conocimientos de PHP pueda entenderla. Las instrucciones más comunes en la parte de la vista suelen ser echo, if/else, foreach/endforeach y poco más. Además, no se deben incluir instrucciones PHP que generen etiquetas HTML. 


En la capa de negocio o aplicación o intermedia: es donde se localiza la lógica del negocio. Esta capa recibe la petición del usuario a través de la capa de presentación y se encarga de darle curso, recurriendo normalmente a los repositorios de información, dicha capa es donde se implementan las reglas del negocio, las validaciones y cálculos.

La capa de acceso a datos: es la encargada de acceder a los repositorios de información, ejemplo de estas bases de datos.

Como se muestra en la figura la relación entre las capas es unidireccional, es decir solo las capas superiores pueden utilizar los servicios que brindan las capas inferiores, aunque los subsistemas que se encuentran en la misma capa si pueden interactuar entre si.

 Otros artículos sobre Patrones
  1.    Patron Singleton en PHP
  2.    Patrón de diseño Decorator en PHP
  3.    Patrón Factory Method en PHP
  4.    Patrón Registry en PHP
  5.    Patrón clásico de diseño web MVC Modelo Vista Controlador en PHP

Referencias Bibliográficas

[1] Colaboradores de Wikipedia. Programación por capas [en línea]. Wikipedia, La enciclopedia libre, 2010 [fecha de consulta: 6 de marzo del 2010]. Disponible en <http://es.wikipedia.org/w/index.php?title=Programaci%C3%B3n_por_capas&oldid=34731234>.