what software programming negocio lógica data business business-logic

business logic - software - ¿Lógica empresarial y de aplicación?



software layer (2)

A menudo veo las frases ''lógica empresarial'' y ''lógica de aplicación'' en términos de desarrollo web (supongo que también se aplica a la programación en general en lugar de solo al desarrollo web)

Esto es bastante nuevo para mí, así que realmente no sé lo que significa, ¿podría alguien explicarme qué se entiende exactamente por esto? ¿Es solo una ''palabra de moda'' usada por los programadores? ¿O?


Digamos que usted escribe un sistema que resuelve una necesidad comercial para un cliente.

La suma de todo su código es la lógica de la aplicación o la arquitectura del sistema, básicamente la totalidad del sistema que está creando.

La lógica de negocios es el subconjunto de código que modela e impulsa los procesos de negocios reales. "¿Qué sucede cuando se hace un pedido del Producto X? ¿Cómo se calcula el costo del Producto Y?" Es decir. los bits de código en los que probablemente necesite alguna información del cliente / experto en dominio / participante del proyecto.

Idealmente, la lógica de negocios está separada en su propio nivel o capa ( consulte el artículo de Wikipedia sobre la arquitectura de nivel N ). El resto del código a menudo se puede considerar simplemente como una infraestructura para ayudar a la ejecución de la lógica empresarial (envoltorio de la base de datos, funciones de ayuda, fachadas de servicios, integración externa, GUI, etc.).


La lógica de negocios es básicamente las reglas del sistema de acuerdo a las especificaciones funcionales. Por ejemplo, el objeto A del tipo B debe tener atribuidos C y D, pero no E. Application Logic es más bien una especificación técnica, como el uso de servlets de Java y OJB para persistir en una base de datos Oracle. Al final, son palabras de moda para ayudar a describir los niveles de tecnología en una aplicación. Esperemos que en un esfuerzo por mantener los distintos niveles separados para hacer un mejor diseño de la aplicación.