Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Arquitectura hexagonal

3.061 visualizaciones

Publicado el

Presentación sobre arquitectura hexagonal sobre Android y Symfony presentada en la jornada de #OpenBiko por 540. Se analiza la arquitectura y se describe de que manera nos está ayudando en el desarrollo de nuestros proyectos.

Publicado en: Ingeniería
  • Sé el primero en comentar

Arquitectura hexagonal

  1. 1. Hexagonal Architecture
  2. 2. WTF WTF WTF WTF WTF
  3. 3. WTF WTF WTF WTF WTF
  4. 4. Código spaghetti
  5. 5. Arquitectura Hexagonal al rescate
  6. 6. Hexagonal architecture Clean architecture Ports and adapters
  7. 7. NFC View Camera Commands INPUT OUTPUT Use Cases + Entities DOMAIN (Bussines logic) External Services INFRASTRUCTURE DATABASE NETWORK FACEBOOK Login User Order product List friends Profile Home Products AdaptersAdapters Messaging
  8. 8. ORDEN
  9. 9. Estandarización
  10. 10. Antes Symfony 1.4 Android
  11. 11. Symfony 2 Android Después
  12. 12. Desacoplado
  13. 13. NFC View Camera Commands API PRESENTATION Use Cases DOMAIN (Bussines logic) External Services INFRASTRUCTURE DATABASE NETWORK SENSORS FACEBOOK Login User Order product List friends Profile Home Products AdaptersAdapters
  14. 14. PRESENTACIÓN Presenter(s) Controller Model View Eventos Rellena la vista Acciones Resultado de esas acciones Datos + lógica de negocio. DOMINIO NFC Comando Vista Cámara Lógica de vista MVP MVC
  15. 15. DOMINIO
  16. 16. Presenter Domain Infrastructure VISTA Frontera Modelo de vista Casos de uso Modelo de negocio Almacenamiento Frontera Modelo de datos Mapeo de datos Mapeo de datos Servidor Modelo de datos Frontera
  17. 17. Portable
  18. 18. 70% Portable Inbox J2ObjC
  19. 19. Android SDK (10830 LOC) + 5 librerías PRESENTATION JAVA Puro (5899 LOC) DOMAIN ANDROID SDK (4116 LOC) + 9 Librerías (orm, rest) INFRASTRUCTURE Symfony2 (3126 LOC) PRESENTATION PHP Puro (9420 LOC) DOMAIN Symfony2 (2823 LOC) + Librerías (orm, messaging) INFRASTRUCTURE
  20. 20. Framework A good architecture allows you to defer framework decisions. A good architecture allows framework to act a s a plugins to the app. The database is a detail, a hardware detail. We would not use one at all if all our data could fit i memory for ever. Use a framework as a means to accomplish tasks in your application, instead of being your application itself.
  21. 21. Claridad y legibilidad
  22. 22. Olmix
  23. 23. Casos de uso
  24. 24. Extensible
  25. 25. ¡¡Testable!!
  26. 26. Orden Estandarización Desacoplamiento Portabilidad Legibilidad Mantenibilidad Extensibilidad Testabilidad Versatilidad Rentabilidad Económico
  27. 27. Referencias http://www.slideshare.net/PedroVicenteGmezSnch/ http://es.slideshare.net/flipper83/forgetting-android http://es.slideshare.net/ChristianPanadero/my-way-to-clean-android- android-day-salamanca-edition http://es.slideshare.net/jmpereirag/from-legacy-to-hexagonal-android http://fernandocejas.com/2014/09/03/architecting-android-the-clean- way/ http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean- architecture.html
  28. 28. GRACIAS!

×