Mejor Framework PythonOO + SOLID -...

76
Mejor Framework PythonOO + SOLID Vivir sin Frameworks

Transcript of Mejor Framework PythonOO + SOLID -...

Page 1: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Mejor FrameworkPythonOO + SOLID

Vivir sin Frameworks

Page 2: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Presentaciones

Page 3: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Alea Soluciones Bifer Team

Page 4: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

@eferro@pasku1 @apa42

@nestorsalceda

Page 5: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Un placer...

Page 6: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Qué es un framework?

Django

Rails

Grails

Spring

AppEngine

Zope/Plone

Page 7: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Qué ventajas nos aporta?

Aporta UNA solución (única)

Estructura tu aplicación

Page 8: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Qué inconvenientes tiene?

Crea GRAN dependencia

Limita flexibilidad negocio

Obsolescencia / Moda ???

Page 9: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 10: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Desarrollo ÁgilCrecimiento Orgánico

Arquitectura Emergente

Page 11: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 12: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 13: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 14: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Lo único seguroTodo Cambia / Evoluciona

Page 15: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Existe una alternativa

Page 16: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Centrarnos en el Negocioy

Desarrollo ágil / evolutivo

Page 17: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Poder postponer decisiones

Page 18: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Tomar decisiones conscientemente

Page 19: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 20: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 21: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 22: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Cómo desarrollamos negocio?DDD Domain Driven Design

Clean Code / S.O.L.I.D

TDD Test Driven Development

Page 23: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Pure Object Oriented Python

Independiente de IO (No net, No BD, No files, …)

Page 24: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 25: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Cómo hacemos el resto?

Page 26: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 27: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 28: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 29: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 30: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Infraestructura y EntregaUsamos las abstracciones sobre libs

Clean Code / S.O.L.I.D

TDD Test Driven Development

Page 31: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Conclusiones

Page 32: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

• Los frameworks son una decisión muy importante

• Las decisiones tienen que ser conscientes

Page 33: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

• Hacer un sistema que evolucione con las necesidades del cliente• Postponer decisiones

• Aplicar distintas soluciones técnicas

Nuestra forma de trabajo y arquitectura debe permitirnos:

Page 34: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Que permiten centrarse en negocioQue facilitan el desarrollo ágilQue evolucionan a largo plazo

Que evolucionan a buena velocidad

Existen alternativas (Reales)

Page 35: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 36: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Referencias

DDD

http://en.wikipedia.org/wiki/Behavior-driven_development

TDD

http://en.wikipedia.org/wiki/Test-driven_development

Hexagonal Architecture

http://alistair.cockburn.us/Hexagonal+architecture

Clean Architecture

http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

Page 37: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 38: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Gracias !!!

Page 39: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Mejor FrameworkPythonOO + SOLID

Vivir sin Frameworks

Page 40: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Presentaciones

Page 41: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Alea Soluciones Bifer Team

Hacemos productoTelecomunicacionesSistemas + SoftwareExtreme ProgrammingAportamos valor

Page 42: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

@eferro@pasku1 @apa42

@nestorsalceda

Page 43: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Un placer...

Page 44: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Qué es un framework?

Django

Rails

Grails

Spring

AppEngine

Zope/Plone

Framework (tal y como lo entendemos)- Intenta solucionar un problema concreto: - el problema que tenia el que lo creo - No hay dos problemas iguales - los problemas crecen (o por lo menos cambian)- Llama a tu código- Te hace depender de él (tanto como pueda) (herencia, callbacks, estructura fuentes, tipo de BD)- Estructura tu aplicación- Define una forma de desarrollar / testear- Aporta muchas soluciones prehechas

La mayor parte se centra en:Aplicaciones centradas en datos con interface usuario Web

El framework te suele “empujar” a usarlo de cierta forma

Page 45: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Qué ventajas nos aporta?

Aporta UNA solución (única)

Estructura tu aplicación

VentajasNo necestias pensar demasiado inicialmenteAl principio pareces ir muy rápido

Page 46: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Qué inconvenientes tiene?

Crea GRAN dependencia

Limita flexibilidad negocio

Obsolescencia / Moda ???

DesventajasVendes tu “alma”Te terminas centrandote en la solución técnica en vez de en el negocio del clientePierdes flexibilidad

Page 47: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Decisiones técnicas siempre son TradeOffsCorto plazo vs Largo plazoFlexibilidad vs Dirección marcadaCentrarse en tecnologia vs Centrarse en negocioCrecimiento organico/evolutivo vs Desarrollo en Fases/Implantación

Usar un framework es un GRAN trade-off

El Cliente te paga por solucionar SU problema (Negocio / Dominio …) no por usar un framework (aunque esté de moda)

Page 48: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Desarrollo ÁgilCrecimiento Orgánico

Arquitectura Emergente

Page 49: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

La evolución es:Sabemos muy pocoDesarrollamos lo mínimo posible / DesplegamosConseguimos feedbackRepetimos

Page 50: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Nuestros conocimientos de negocio creceLas funcionalidades se acumulanEl necesidades cambian

Page 51: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Al principio del proyecto no sabemos nada. Cómo coño elegimos el Framework !!!

Lo eliges porque:es lo que conoces???está de moda???

Si inicialmente no tenemos conocimiento de negocioCómo vamos a saber lo que necesitamos técnicamente ?Cómo va a saber el creador de framework lo que necesitamos ?Nos va a aportar productividad o va a secuestrar la evolución futura ?

Somos conscientes del compromiso que es usar un framework?

Page 52: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Lo único seguroTodo Cambia / Evoluciona

Page 53: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Existe una alternativa

Page 54: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Centrarnos en el Negocioy

Desarrollo ágil / evolutivo

Page 55: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Poder postponer decisiones

Page 56: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Tomar decisiones conscientemente

Page 57: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Un sistema está compuesto por subsistemas (excepto si es trivial)Diferentes subsistemas NO es diferentes módulos usando el mismo esquema de BD y compartiendo los datos

Page 58: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

ObjetivoCiclo desarrollo / release / feedback muy rápidoCada implementación debe ser mínimaFlexible Para que no cueste cambiar decisiones técnicasPara adaptarnos a Cualquier requisito

Page 59: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Cada subsistema lo desarrollamos con este esquemaNos centramos en Dominio de cliente / Lógica de Negocio

Arquitectura LimpiasDesacopladaDelivery

Page 60: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Cómo desarrollamos negocio?DDD Domain Driven Design

Clean Code / S.O.L.I.D

TDD Test Driven Development

Page 61: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Pure Object Oriented Python

Independiente de IO (No net, No BD, No files, …)

Ese código:Es independiente de IO (No net, No BD, No files, …)Puede depender de abstracciones (Cliente rest, Persistencia agregado, ….)

Page 62: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Velocidad desarrollo buenaReusabilidad buenaValor (desde el punto de vista del cliente) buena

Esto es por lo que nos pagan

Page 63: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

¿Cómo hacemos el resto?

Page 64: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

y el resto de código, el que se integra con el mundo exterior, el que permite comunicarse, el que permite persistir….Para ese código…

Reinventamos la rueda ????

Page 65: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Ni de coña

Page 66: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Usamos librerías… Muchas

Page 67: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Cada librería la integramosCreando una abstracción de la parte que vamos a usar (que será lo mínimo posible)La parte de negocio usa esta abstracción (nunca la librería)Creamos un test de contrato para la parte que usamos (verificamos que podemos enviar un mensaje, escribir una tabla o lo que sea)

Page 68: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Infraestructura y EntregaUsamos las abstracciones sobre libs

Clean Code / S.O.L.I.D

TDD Test Driven Development

Page 69: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Conclusiones

Page 70: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

• Los frameworks son una decisión muy importante

• Las decisiones tienen que ser conscientes

Page 71: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

• Hacer un sistema que evolucione con las necesidades del cliente• Postponer decisiones

• Aplicar distintas soluciones técnicas

Nuestra forma de trabajo y arquitectura debe permitirnos:

Aplicar distintas soluciones técnicas (según se vayan necesitando, nunca antes)

Page 72: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Que permiten centrarse en negocioQue facilitan el desarrollo ágilQue evolucionan a largo plazo

Que evolucionan a buena velocidad

Existen alternativas (Reales)

Aplicar distintas soluciones técnicas (según se vayan necesitando, nunca antes)

Page 73: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Desarrollar en Python OO (Puro) es sencillo y divertido

Page 74: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Referencias

DDD

http://en.wikipedia.org/wiki/Behavior-driven_development

TDD

http://en.wikipedia.org/wiki/Test-driven_development

Hexagonal Architecture

http://alistair.cockburn.us/Hexagonal+architecture

Clean Architecture

http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

Page 75: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo
Page 76: Mejor Framework PythonOO + SOLID - PyCon2013.es.pycon.org/media/mejor-framework-pythonoo-solid.pdf · Arquitectura Emergente. La evolución es: Sabemos muy poco Desarrollamos lo mínimo

Gracias !!!

Desksurfing