La escalabilidad y mantenibilidad de nuestros proyectos es un objetivo que buscamos todos los desarrolladores . Mantener la lógica del negocio desaclopada de nuestro framework nos ayudar a conseguir nuestra meta. En esta sesión veremos como esto posible mediante el uso de una arquitectura hexagonal y diferentes capas de aplicación ( Infraestructura, Aplicación y Dominio ). También analizaremos un ejemplo concreto sobre varios de los frameworks PHP más importantes ( Symfony2 y Drupal8 )
7. Reglas de negocio
Las reglas de negocio son aquellas que nos dicen cómo
debe comportarse un sistema del mundo real.
Definen las relaciones , procesos y restricciones entre
los objetos del dominio.
12. Modelo - Vista - Controlador
Vista
Petición
Datos
Controlador
Modelo
13. Modelo - Vista - Controlador
Vista
Petición
Datos
Controlador
Aplica las
reglas de
negocio
Modelo
14. Modelo - Vista - Controlador
Vista
Petición
Datos
Controlador
Aplica las
reglas de
negocio
Modelo
Persistencia
de datos
15. Modelo - Vista - Controlador
Vista
Petición
Datos
Controlador
Aplica las
reglas de
negocio
Modelo
Persistencia
de datos
Respuesta
16. Modelo - Vista - Controlador
Vista
Petición
Datos
Controlador
Aplica las
reglas de
negocio
Modelo
Persistencia
de datos
Respuesta
Lógica de
negocio
29. Capas y fronteras
Capa Infraestructura Aplicación Dominio
Responsabilidad Input/Output
Persistencia
Modela casos de
uso
Modelo de dominio
Elementos Frameworks Interfaces
Repositorios
Factorías
Orquestadores
Entidades
Objetos valor
Eventos de dominio
37. Shopping Cart
1. CLIENTE Quiero ver un listado de productos para elegir lo que quiero comprar
2. CLIENTE Quiero ser capaz de elegir el producto que quiero comprar y añadirlo a mi cesta de la
compra
a. Si un producto está ya en la cesta incrementaremos la cantidad
3. CLIENTE Quiero ser capaz de eliminar productos de mi cesta si he cambiado de opinión
4. CLIENTE Quero poder ver el coste total de todos los productos de mi cesta en todo momento.
5. CLIENTE Quiero que se guarde mi cesta de la compra por si quiero pensarmelo mejor