La programación por capas separa una aplicación en capas lógicas como presentación, lógica de negocio y datos. Esto permite el desarrollo independiente de cada capa y facilidad de cambio cuando se requiere. El diseño más común tiene tres capas con presentación, negocio y acceso a datos en diferentes capas o niveles físicos.