arquitectura hexagonal
TRANSCRIPT
Hexagonal Architecture
WTF
WTF
WTF
WTFWTF
WTFWTF
WTF
WTF
WTF
Código spaghetti
Arquitectura Hexagonal
al rescate
Hexagonal architecture
Clean architecture
Ports and adapters
NFC View
Camera Commands
INPUTOUTPUT
Use Cases +
Entities
DOMAIN(Bussines logic)
External Services
INFRASTRUCTURE
DATABASE
NETWORK
Login User
Order product
List friends
Profile
Home
Products
AdaptersAdapters
Messaging
ORDEN
Estandarización
AntesSymfony 1.4 Android
Symfony 2 AndroidDespués
Desacoplado
NFC View
Camera Commands
API
PRESENTATION
Use Cases
DOMAIN(Bussines logic)
External Services
INFRASTRUCTURE
DATABASE
NETWORK
SENSORS
Login User
Order product
List friends
Profile
Home
Products
AdaptersAdapters
PRESENTACIÓN
Presenter(s)Controller
Model
ViewEventos
Rellena la vista
Acciones Resultado de esas acciones
Datos + lógica de negocio.
DOMINIO
NFCComando
VistaCámara
Lógica de vista
MVP MVC
DOMINIO
Presenter Domain Infrastructure
VISTA
Fron
tera
Modelo de vista
Casos de uso
Modelo de negocio
Almacenamiento
Fron
tera
Modelo de datos
Mapeo de datos
Mapeo de datos
Servidor
Modelo de datos
Fron
tera
Portable
70% Portable
InboxJ2ObjC
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
FrameworkA 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.
Claridad y legibilidad
Olmix
Casos de uso
Extensible
¡¡Testable!!
OrdenEstandarización
DesacoplamientoPortabilidadLegibilidadMantenibilidadExtensibilidadTestabilidad
VersatilidadRentabilidad
Económico
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
GRACIAS!