La programación por capas es un modelo de desarrollo de software que separa (desacopla) las partes de un sistema en capas. La capa de presentación presenta el sistema al usuario y se comunica con la capa de negocio. La capa de negocio se comunica con la capa de presentación y la capa de datos. La capa de datos accede directamente a la base de datos.