CRUD es un acrónimo que significa Crear, Leer, Actualizar y Eliminar. Esas son las cuatro operaciones básicas que puede realizar en una tupla de base de datos. Pero siempre hay más en las aplicaciones comerciales que crear, leer, actualizar y eliminar registros de bases de datos.
Comencemos con algunas definiciones básicas, y luego veamos un par de ejemplos y veamos cómo esas definiciones se asignan a los ejemplos, y cómo se asignan al software real.
La lógica empresarial o la lógica de dominio es esa parte del programa que codifica las reglas comerciales del mundo real que determinan cómo se pueden crear, almacenar y cambiar los datos. Prescribe cómo los objetos comerciales interactúan entre sí y aplica las rutas y los métodos mediante los cuales se accede y actualiza los objetos comerciales.
Las reglas de negocio describen las operaciones, definiciones y restricciones que se aplican a una organización. Las operaciones colectivamente forman un proceso; toda empresa utiliza estos procesos para formar sistemas que hacen las cosas.
Ahora, trabajemos con algunos ejemplos.
Transferencia de dinero de una cuenta corriente a otra
Primero, ¿cuáles son las cosas que necesita saber (entrada)?
- La identidad de la persona que realiza la transferencia.
- La cantidad de dinero a transferir
- El número de cuenta corriente de origen
- El número de cuenta corriente objetivo
¿Cuáles son algunas de las "reglas comerciales" que deben aplicarse?
- La persona que realiza la solicitud debe tener la autoridad para hacerlo.
- La transacción debe ser atómica .
- La transacción puede tener requisitos de información para el gobierno, si supera una cierta cantidad
Por "atómico", quiero decir que la transacción debe tener éxito completo o debe fallar por completo. No puede realizar transacciones de cuenta en las que se saca dinero de una cuenta sin llegar a la otra (el dinero desaparece) o el dinero se deposita en una cuenta, pero no se carga en otra cuenta (el dinero aparece mágicamente de la nada).
Ordenar algo de Amazon.
¿Qué necesitas saber?
- La identidad de la persona que ordena
- Información de envío
- Datos de facturación
- Forma de pago
- Cantidad y cantidad de cada artículo a enviar
- Cómo enviar (durante la noche, bote lento o super ahorrador)
- Tasa de impuesto estatal
¿Qué sucede después de realizar el pedido?
CRUD es simplemente Crear, Leer, Actualizar, Eliminar que hace una aplicación.
Hasta cierto punto, un rastreador de errores también es una aplicación CRUD. Cree errores, lea (muestre) los errores, actualice los errores y, tal vez, elimínelos.
Sin embargo, hay más en un rastreador de errores que solo CRUD.
El código que implementa lo anterior es la lógica de negocios de la aplicación.
La restricción de los flujos de trabajo, o quién puede hacer las diversas operaciones en CRUD. Estos son los que separan una aplicación CRUD de otra. Son las partes donde necesita que la empresa diga cómo funciona la aplicación. Qué lógico es ... bueno, eso se discute mejor con una cerveza fuera del alcance del gerente del proyecto. Pero eso es lo que es la lógica de negocios.
Claro, es posible escribir una aplicación CRUD 'pura' donde no hay roles, todo se puede modificar y ver, pero estos son la excepción y no la regla.
La lógica de negocios es la lógica que está escribiendo en su programa para manejar las reglas de negocios que se le dan.
Cuando comienzas a entrar en las reglas de negocios, esto tiende a estar en un nivel más alto que el de la lógica comercial. Esto tiende a ser lo que obtienes de un analista de negocios que está trabajando con el negocio.
Considere en este ejemplo, un programa que determina cómo manejar la devolución de un artículo en un mostrador de devoluciones en una tienda.
Esas son algunas reglas de negocios. No hablan con la parte CRUD de la aplicación.
Al trabajar con reglas comerciales, a menudo puede encontrarlas escritas en un motor de reglas (por ejemplo, Motor de reglas de Windows Workflow Foundation ) en lugar de escribir el código sin formato en su sistema.
Tenga en cuenta que la distinción lógica / reglas es una de terminología y puede discutirse durante toda la noche (mejor con una cerveza otra vez). Aunque esta no es una distinción poco común, los dos pueden mezclarse entre sí.
fuente
Otras respuestas son correctas. Un pensamiento adicional ...
La lógica de negocios es portátil
Si tuviera que volver a implementar un proyecto de software en un lenguaje de programación diferente, digamos que pasar de Turbo Pascal a Java , la lógica de negocios y las reglas de negocios es lo que los proyectos antiguos y nuevos tendrían en común .
El lenguaje de programación sería diferente. El código fuente sería completamente diferente. Las herramientas ( IDE , compiladores , etc.) pueden ser completamente diferentes. La interfaz de usuario puede estar completamente reorganizada o tener un aspecto diferente . La documentación probablemente sería diferente. Pero el propósito de los dos proyectos, los resultados finales del trabajo realizado / los objetivos cumplidos, sería el mismo.
fuente
La lógica empresarial consiste básicamente en 2 categorías amplias: validación y flujo. La lógica empresarial dice que la cantidad 1 debe ser mayor o igual que la cantidad 2; por ejemplo, el número de artículos a comprar debe ser menor o igual que el número de artículos en stock.
En una aplicación, la gente de negocios dirá que esta es una regla de negocios, por lo que escribes código para hacer cumplir esta lógica de negocios (validación). Otra aplicación dirá que si el número de artículos pedidos es mayor que el número de artículos en stock, aceptar el pedido y luego realizar su propio pedido por la diferencia más el 20%, y así escribirá esta lógica comercial (flujo) .
CRUD es simplemente obtener datos de entrada y salida de almacenamiento y cambiarlos. La lógica empresarial determina qué hacer con esos datos y qué transformaciones se les permite hacer. ¿Es su cliente nacido en el futuro, menor de 5 años, de una determinada área geográfica (descuentos para locales / visitantes). CRUD es simple, saber que puede obtener un crédito tributario por hijos solo si el hijo vivió con usted durante más de la mitad del tiempo que estuvo vivo en el año calendario NO solo más de 6 meses, es más complejo.
fuente
La lógica o las reglas comerciales son cualquier cosa que no pertenezca a la mecánica de la interfaz de usuario (las "cosas de programación"). Son las cosas que aún tendría que aplicar si estuviera haciendo esta transacción o lo que sea hace 100 años (manualmente). Por ejemplo, cuándo aplicar el impuesto sobre las ventas a una compra.
fuente
La "lógica de negocios" de un programa o aplicación es la parte del código que realmente hace cosas con la entrada (del usuario, el sistema operativo, etc.). Las "reglas de negocio" de una aplicación suelen ser los parámetros definidos del programa en sí (como la forma de manejar la entrada). Al menos, así es como lo he escuchado referido por muchas personas. Son términos bastante similares para describir partes del código.
fuente