Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Inversão de Controle, Injeção de Dependências e AOPcom Spring no contexto Arquitetural Henrique Lobo Weissmann (Kico)
http://www.itexto.com.br       ?                                 http://devkico.itexto.com.br                             ...
http://www.casadocodigo.com.br
Quando o sistema vira catástrofe?
Sintomas de um projeto ruim Frágil Rígido Imóvel
Módulos de alto nível não devem depender de módulos de baixo nível.Ambos devem depender de abstrações.Abstrações não devem...
Alto Acoplamento
Problema:como definir asdependências de Processador?
Solução 1  Processador instancia suas próprias dependências  através de um construtor ou chamadas de métodos
Solução 2      Service locator
O que queremos
Solução Ideal     Um container de inversão de controle/injeção de dependências
Inversão de controle
Todo framework é  a aplicação da inversão de controle
Inversão de Controle               Injeção de              dependências
O Bean
Origem   Processador                       Destino
Injeção de dependências na prática
Spring apenas como container de injeção de dependências vale à pena?
21 Kb resolvem         seu problemahttp://miocc.itexto.com.br
Inversão de Dependências/Inversão de Controle + AOP
Contexto histórico (por que?)      2002    2004     Março 2004
Contexto histórico (por que?)  O mundo em 2004               EJB 2.0 (2.1 sai em novembro de 2003)               Java 5 va...
Serviços corporativos sem                                           a necessidade de um                                   ...
Por que tão tímida?
Programação Orientada aOrientação a Objetos                                                           Aspectos            ...
Interesse transversal
Aspecto    Implementação do Interesse Transversal
Interceptar         Chave para entender AOP•   Antes do método ser executado•   Após o método ter sido executado•   Antes ...
AOP na prática
AplicaçõesCacheamentoControle transacionalSegurançaModificação de comportamentos existentesMelhoria de código legadoMonito...
Muito obrigado  Perguntas?
Inversão de Controle, Injeção de Dependências e AOP com Spring
Inversão de Controle, Injeção de Dependências e AOP com Spring
Inversão de Controle, Injeção de Dependências e AOP com Spring
Inversão de Controle, Injeção de Dependências e AOP com Spring
Inversão de Controle, Injeção de Dependências e AOP com Spring
Inversão de Controle, Injeção de Dependências e AOP com Spring
Upcoming SlideShare
Loading in …5
×

Inversão de Controle, Injeção de Dependências e AOP com Spring

5,298 views

Published on

Apresentação que fiz no dia 13/12/2012 para a comunidade Pangea

Published in: Technology
  • Be the first to comment

Inversão de Controle, Injeção de Dependências e AOP com Spring

  1. 1. Inversão de Controle, Injeção de Dependências e AOPcom Spring no contexto Arquitetural Henrique Lobo Weissmann (Kico)
  2. 2. http://www.itexto.com.br ? http://devkico.itexto.com.br http://www.grailsbrasil.com.br http://aulas.itexto.com.br@loboweissmann http://linkedin.com/in/kicolobo
  3. 3. http://www.casadocodigo.com.br
  4. 4. Quando o sistema vira catástrofe?
  5. 5. Sintomas de um projeto ruim Frágil Rígido Imóvel
  6. 6. Módulos de alto nível não devem depender de módulos de baixo nível.Ambos devem depender de abstrações.Abstrações não devem depender de detalhes.Detalhes devem depender de abstrações “The Dependency Inversion Principle” Robert C. Martin - 1996
  7. 7. Alto Acoplamento
  8. 8. Problema:como definir asdependências de Processador?
  9. 9. Solução 1 Processador instancia suas próprias dependências através de um construtor ou chamadas de métodos
  10. 10. Solução 2 Service locator
  11. 11. O que queremos
  12. 12. Solução Ideal Um container de inversão de controle/injeção de dependências
  13. 13. Inversão de controle
  14. 14. Todo framework é a aplicação da inversão de controle
  15. 15. Inversão de Controle Injeção de dependências
  16. 16. O Bean
  17. 17. Origem Processador Destino
  18. 18. Injeção de dependências na prática
  19. 19. Spring apenas como container de injeção de dependências vale à pena?
  20. 20. 21 Kb resolvem seu problemahttp://miocc.itexto.com.br
  21. 21. Inversão de Dependências/Inversão de Controle + AOP
  22. 22. Contexto histórico (por que?) 2002 2004 Março 2004
  23. 23. Contexto histórico (por que?) O mundo em 2004 EJB 2.0 (2.1 sai em novembro de 2003) Java 5 vai sair em setembro 2004 XDoclet Servidores de aplicação pesados Struts
  24. 24. Serviços corporativos sem a necessidade de um servidor Java EE Desenvolvimento baseado em POJOsComo?Com inversão de controle, injeção de dependências e AOP
  25. 25. Por que tão tímida?
  26. 26. Programação Orientada aOrientação a Objetos Aspectos No que diz respeito à capacidade de modularizar, AOP é para a OO O que o fio dental é para a escova de dentes.
  27. 27. Interesse transversal
  28. 28. Aspecto Implementação do Interesse Transversal
  29. 29. Interceptar Chave para entender AOP• Antes do método ser executado• Após o método ter sido executado• Antes e depois do método ter sido executado• Após o disparo de uma excessão
  30. 30. AOP na prática
  31. 31. AplicaçõesCacheamentoControle transacionalSegurançaModificação de comportamentos existentesMelhoria de código legadoMonitoramentoProfilamentoSOA (padrão pipes and filters)Básicamente tudo o que servidores de aplicação implementam, sem um servidor.
  32. 32. Muito obrigado Perguntas?

×