April 05
Prof. Ismael H. F. Santos -  ismael@tecgraf.puc-rio.br                                                          2
Text Box:    Figura 1 - Exemplo de Dependency Injection
nExemplo: Gerência de cadastro de filmes
ninterface MovieFinder defini o comportamento padrão para classes que gerenciam um cadastro de filmes.
nMovieFinderImpl define uma implementação concreta da interface
nMovieLister utiliza uma implementação da interface MovieFinder para realizar a busca de filmes para apresentar em um tocador (player) de vídeo.
nA dependência existente entre MovieLister e MovieFinder é resolvida pela classe Assembler,                                                        a qual gerencia a “injeção” de                                                          uma implementação de MovieFinder,
n
npublic class MovieLister {
n  public MovieLister(MovieFinder finder) {
  this.finder = finder;      
n  }
n}
Inversion of Control (Dependency Injection)