programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases.” Alistair Cockburn http://alistair.cockburn.us/Hexagonal+architecture Adoración González Toboso
deberían tener el menor número posible de efectos colaterales. Agregar nuevas funcionalidades ó formas de interactuar con la aplicación no deberían requerir grandes cambios de código. Los procesos de depuración y testeo deberían requerir el menor número de soluciones temporales como sea posible y ser relativamente fáciles. Adoración González Toboso
Identificamos puertos de E/S. Usamos adaptadores para transformar inputs y outputs. Organizamos y diseñamos clases para desacoplar. Adoración González Toboso
la figura. El número de lados, no significa nada!! https://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html Adoración González Toboso
Servicios de la aplicación. Subscribers y listeners de eventos del dominio. Eventos de la aplicación Comandos Bus de comandos. Adoración González Toboso
ser capaz de hacer mi aplicación? Definición de casos de uso pensando en la interfaz del hexágono de la aplicación. Constituyen una API. Adoración González Toboso
Habilitar una cuenta de usuario Deshabilitar una cuenta de usuario. Modificar el perfil de una cuenta de usuario. Borrar una cuenta de usuario. Adoración González Toboso
cuenta de usuario pueden tener distintos orígenes: Formulario web (HTTP) API (HTTP) CLI Data provider (Tests) Message queque Adoración González Toboso
el flujo de dependencias en la aplicación. Las clases de alto nivel no deberían depender de las clases de bajo nivel. Ambas deberían depender de las abstracciones. Las abstracciones no deberían depender de los detalles. Los detalles deberían depender de las abstracciones. Adoración González Toboso
repositorio y la factoría con los métodos que tiene que implementar cualquier clase que ubicada en la infraestructura funcione como un repositorio ó como factoría de cuentas de usuarios independientemente de la tecnología que haya debajo. Adoración González Toboso
implementación concreta a cumplir lo definido en el modelo. Modelo y aplicación desacoplados de la tecnología externa. Muy mantenible. Adoración González Toboso
la configuración del mapeo. Comprobar la corrección de la implementación concreta del repositorio. TEST DEL SISTEMA Verificar todo está conectado entre sí. Adoración González Toboso
http://php-and-symfony.matthiasnoback.nl Matthias Noback http://www.martinfowler.com Martin Fowler Implementing Domain-Driven Design. Vaughn Vernon. Domain Driven Design in PHP Carlos Buenosvinos, Christian Soronellas, Keyvan Akbary PHP Barcelona Monthly Talk: From Silex to Symfony and viceversa. Ronny López Antonio J. García Lagar @ajgarlag Adoración González Toboso