Your SlideShare is downloading. ×
Spring Inyección De Dependencias
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Spring Inyección De Dependencias

5,915
views

Published on

Actualizado a la versión Spring 3.0

Actualizado a la versión Spring 3.0

Published in: Education, Technology, Business

2 Comments
1 Like
Statistics
Notes
  • Si use la configuracion de spring antigua, pero para la demo si use los jars de spring 3 para mostrarles que aun se puede hacer de esa forma. El objetivo era hacerle entender a los chicos de OSUM la inyeccion de dependencias, espero haber logrado el objetivo jeje
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Una pregunta, qué parte del ejemplo usa algo nuevo de Spring 3.0? el ejemplo me parece demasiado antiguo Spring 1.0?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
5,915
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
133
Comments
2
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Inyección de DependenciasSpring 3.0 Ágil Java José Díaz Díaz CEO JoeDayz E-mail: [email_address] Web: http://www.joedayz.org Twitter: joedayz
  • 2. Objetivos de la Presentación Ágil Java Entender uno de los pilares del Spring Framework. La inyección de Dependencias.
  • 3. Datos del Speaker Ágil Java
    • Consultor, Instructor, Mentor, Autor
    • Trabajo con Java Empresarial, Desarrollo Web y Tecnologías Open Source desde hace 10 años
    • CEO JoeDayz, capacitando y desarrollando proyectos en el Estado y empresas privadas a nivel nacional e internacional
    • Speaker frecuente en eventos y conferencias relacionadas a Java y Spring
    • Escribiendo libro sobre Spring 3 para este 2010
  • 4. Ágil Java
  • 5. Agenda Ágil Java
    • Introducción de Spring Framework
    • Misión de Spring
    • Módulos de Spring
    • Inyección de Dependencias
  • 6. Introducción a Spring Framework Ágil Java
    • Simplifica J2EE
    • Administra las dependencias entre componentes
    • Framework Liviano
    • Inyección de Dependencias (DI)
    • Orientado a Aspectos (AOP)
    • Contenedor
    • Framework a la Carta
  • 7. Misión de Spring Ágil Java
  • 8. Módulos de Spring Ágil Java
  • 9. Inyección de Dependencias (DI)
    • Antes llamado Inversion de Control
    • Martin Fowler (2004), concluyo que ningún aspecto de control estaba siendo invertido y concluyó que si la adquisición de dependencias estaba siendo invertido, un mejor termino que describe esto, es, “ Inyección de dependencias ”.
    • La clave o beneficio de DI es el pobre
    • acoplamiento . Si un objeto solo conoce sus
    • dependencias, a través, de su interface ,
    • entonces la dependencia puede ser
    • Cambiada con una diferente implementación
    • cuando se nos apetezca, sin que
    • el objeto dependiente sepa del cambio
    • o la diferencia.
  • 10.
    • a
    DI Demo
  • 11. DI Demo
    • Perú necesita un héroe y a tu empresa (área de marketing) no se le ocurrió mejor idea que crear un superhéroe.
    • El departamento de informática excitado agarra su IDE favorito y programa su primera clase Java
  • 12. DI Demo
    • Satisfecho con su trabajo el equipo de sistemas, coloca el proyecto bajo control de versiones, pero, para no fallar en su demo al equipo de marketing, decide hacer un unit tests
    • ¿Qué problemas ves en el test case?
  • 13. DI Demo
    • Lo malo del test case es que por tener la Super Velocidad en duro. Indirectamente estas probando la Super Velocidad , es decir, no hay manera de invocar Superman.doSuperCosas() sin también invocar al método usar de SuperVelocidad .
    • ¿Quién llama a quién?
    • El problema es que el mismo Superman
    • es el encargado de obtener sus
    • superpoderes.
    • Por eso no hay forma de testear
    • Superman aisladamente, puesto que,
    • cada vez que probemos a Superman,
    • también estaremos testeando su
    • SuperVelocidad.
  • 14. DI Demo
    • Usaremos entonces una técnica común para reducir acoplamiento . Esta técnica consiste en ocultar los detalles de la implementación detrás de interfaces . De manera que la implementación se pueda cambiar sin impactar a la clase cliente.
  • 15. DI Demo
    • Cambiamos ahora SuperVelocidad para implementar la interface
    • Cambiamos también Superman para implementar la interface SuperHeroe
  • 16. DI Demo
    • Ocultar las implementaciones detrás de interfaces es el camino correcto. Pero, muchos desarrolladores fallan en como usar estas interfaces para desacoplar objetos. Por ejemplo, veamos esta versión.
    ¿Superman debe el mismo obtener su super velocidad u obtenerlo de alguna fuerza externa? // hemos visto la película no?
  • 17. DI Demo
    • Ahora consideremos la siguiente versión:
    ¿Vemos la diferencia?
  • 18. DI Demo
    • La responsabilidad ahora pertenece a los objetos.
  • 19. DI Demo
    • Configuramos Spring para poder utilizar la inyección de dependencias
    • Creamos
    • SuperMain
    • para probar
  • 20. Enjoy!
  • 21. Curso de Groovy & Grails
  • 22. Av. Canavall y Moreyra 380, 6to Piso, San Isidro Lima – Perú (511) 985806981 | (511) 985419781 www.joedayz.org [email_address]

×