301 words
2 minutes
2.8 Lógica De Negocio

La lógica de negocio es el conjunto de reglas, procesos, operaciones y decisiones que traducen la forma en que una organización funciona hacia el software. Representa cómo se ejecutan las actividades principales de un sistema según los objetivos del negocio, y se convierte en código dentro de la aplicación.


Importancia#

  • Define cómo se hacen las cosas en función de las reglas y políticas de la organización.
  • Controla la toma de decisiones del sistema.
  • Mantiene la consistencia en las operaciones.
  • Separa responsabilidades, evitando mezclar la lógica de negocio con la lógica de presentación o de datos.

Componentes#

  1. Reglas del negocio: Definen qué está permitido y qué no. Ejemplo: un pedido no puede confirmarse si no tiene artículos.

  2. Procesos del negocio: Describen los pasos que deben seguirse. Ejemplo: calcular el total de un pedido → aplicar impuestos → generar factura.

  3. Decisiones del negocio: Determinan qué hacer según las reglas. Ejemplo: si el cliente es VIP, aplicar un 10% de descuento.


¿Para qué sirve?#

  • Asegura que el software respete las reglas del negocio.
  • Favorece la separación de responsabilidades entre capas.
  • Facilita el mantenimiento y escalabilidad del sistema.
  • Permite que la lógica de presentación y de acceso a datos se adapten sin alterar el núcleo del negocio.

¿Cómo funciona?#

  1. Entrada: recibe datos desde la interfaz o el sistema externo.
  2. Procesamiento: aplica las reglas de negocio.
  3. Salida: genera resultados útiles para el negocio.

Analogía#

La lógica de negocio es como el árbitro en un juego:

  • Define qué movimientos son válidos (reglas).
  • Decide cómo se desarrolla la partida (procesos).
  • Dicta qué hacer ante cada situación (decisiones). Sin el árbitro, los jugadores podrían actuar sin control y el juego perdería sentido.

Relación con Patrones#

En diseño con patrones, la lógica de negocio suele residir en la capa de dominio, aplicando principios como:

  • SRP (Single Responsibility): separar reglas del negocio de la presentación.
  • Strategy: definir reglas intercambiables de decisión.
  • Factory: encapsular procesos de creación de objetos del negocio.
  • Service Layer: centralizar la lógica de negocio en servicios reutilizables.