InversionofControlDependencyInjectionService Locator<br />Intervalo Técnico – I9 Informática<br />Arthur Nascimento<br />W...
Roteiro<br />O que é IoC?<br />O que é DI?<br />O que é SL?<br />Os padrões SoC e SRP<br />Exemplo de IoC com DI<br />Fram...
O que é IoC?<br />Inversão de Controle, ou IoC, é um princípio abstrato que descreve um aspecto de alguns projetos de arqu...
O que é DI?<br />Injeção de Dependência (ou DI) é um termo usado para descrever o processo de passar as dependências para ...
O que é DI?<br />Formas de DI<br />Injeção pelo construtor<br />Injeção através de métodos<br />Injeção através de proprie...
O que é SL?<br />Service Locator é um padrão de projeto para que encapsula a obtenção dos objetos, através de uma camada c...
Os padrões SoC e SRP<br />O Princípio da Separação de Responsabilidades (SoC) é o processo de identificação e separação de...
Os padrões SoC e SRP<br />O Princípio da Responsabilidade Única (SRP) dizque: <br />Cadaobjetodevepossuirapenasumaúnicares...
Exemplo de IOC com DI<br />
Exemplo de IOC com DI<br />
Exemplo de IOC com DI<br />
Frameworks<br />Ninject<br />Unity<br />StructureMap<br />Spring.Net<br />Windsor<br />
Vantagens de usar um framework<br />Ponto único de configuração<br />Usa convenção para resolver as dependências<br />Cont...
1) Demo com Testes Unitários2) Demo de DI com Ninject<br />
Dúvidas?Observações?Críticas?Sugestões?Lamentações?<br />
Upcoming SlideShare
Loading in …5
×

IoC, DI e SL

924 views

Published on

Palestra realizada no intervalo tecnico da Inove Informatica.

Demo em : https://github.com/waldyrfelix/DemoIoC

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
924
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

IoC, DI e SL

  1. 1. InversionofControlDependencyInjectionService Locator<br />Intervalo Técnico – I9 Informática<br />Arthur Nascimento<br />Waldyr Félix<br />
  2. 2. Roteiro<br />O que é IoC?<br />O que é DI?<br />O que é SL?<br />Os padrões SoC e SRP<br />Exemplo de IoC com DI<br />Frameworks<br />Vantagens de usar Frameworks<br />Demo com Testes Unitários<br />Demo de DI com Ninject<br />
  3. 3. O que é IoC?<br />Inversão de Controle, ou IoC, é um princípio abstrato que descreve um aspecto de alguns projetos de arquitetura de software em que o fluxo de controle de um sistema é invertido em relação a programação convencional.<br />
  4. 4. O que é DI?<br />Injeção de Dependência (ou DI) é um termo usado para descrever o processo de passar as dependências para as classes de baixo acoplamento. É a forma mais usada de IOC.<br />Para isso existem ferramentas chamadas Contêiner de Injeção de Dependência.<br />
  5. 5. O que é DI?<br />Formas de DI<br />Injeção pelo construtor<br />Injeção através de métodos<br />Injeção através de propriedades (get/set)<br />
  6. 6. O que é SL?<br />Service Locator é um padrão de projeto para que encapsula a obtenção dos objetos, através de uma camada centralizada.<br />Também é uma forma de IoC<br />Frequentemente é criado com base num contêiner de IoC<br />
  7. 7. Os padrões SoC e SRP<br />O Princípio da Separação de Responsabilidades (SoC) é o processo de identificação e separação de estruturas dentro do código que representam comportamentos distintos. Geralmente, uma responsabilidade representa uma característica ou comportamento de uma classe.<br />
  8. 8. Os padrões SoC e SRP<br />O Princípio da Responsabilidade Única (SRP) dizque: <br />Cadaobjetodevepossuirapenasumaúnicaresponsabilidade<br />Apenas um motivoparamudar<br />Podendoessaideiaserextrapoladaparaosmétodosdesseobjetotambém<br />
  9. 9. Exemplo de IOC com DI<br />
  10. 10. Exemplo de IOC com DI<br />
  11. 11. Exemplo de IOC com DI<br />
  12. 12. Frameworks<br />Ninject<br />Unity<br />StructureMap<br />Spring.Net<br />Windsor<br />
  13. 13. Vantagens de usar um framework<br />Ponto único de configuração<br />Usa convenção para resolver as dependências<br />Controle de ciclo de vida dos objetos<br />Facilidade de uso<br />
  14. 14. 1) Demo com Testes Unitários2) Demo de DI com Ninject<br />
  15. 15. Dúvidas?Observações?Críticas?Sugestões?Lamentações?<br />

×