La programación por capas separa una aplicación en distintas capas o niveles, cada una con una responsabilidad específica. Esto permite separar la lógica de negocio de la interfaz de usuario y los datos, mejorando la seguridad, mantenibilidad y distribución del trabajo. Las tres capas principales son: la capa de presentación, la capa de lógica/negocio y la capa de datos/persistencia.