[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 

Forum Read-Only! Check the new site and forum here!

5) Como usar o DIFilter junto com o IoCFilter ?  XML
Forum Index -> F.A.Q.
Author Message
boaglio


[Avatar]

Joined: 28/09/2005 11:05:16
Messages: 299
Location: Sao Paulo - Brazil
Offline

5) Como usar o DIFilter junto com o IoCFilter ?

A diferença entre IoC e DI é simples: IoC (Inversão de Controle) é o responsável pela criação e pelo controle do ciclo de vida de um componente. Por exemplo, um componente no escopo da sessão terá uma nova instância criada automaticamente a cada nova sessão pelo IoCFilter.

Já o DI (Injeção de Dependência) é o responsável pelo interligamento dos componentes, uma vez que um componente pode depender de outro para executar sua função.

Um exemplo clássico é um DAO (Data Access Object) que depende de uma Connection para ir ao banco de dados.

Code:
 
 // definindo um componente userDao que gerará instâncias 
 // a partir da classe MySQLUserDao
 
 ioc("userDAO", MySQLUserDAO.class); 
 
 // o filtro global que transforma o Mentawai num container de IoC
 
 filter(new IoCFilter()); 
 
 // o filtro de conexão que usa um pool de conexoes por tras 
 // para prover uma conexão ao input da action...
 
 filter(new ConnectionFilter("connection", connHandler)); 
 
 // o filtro de DI que se encarrega de injetar uma Connetion 
 // em todos os componentes que precisam de uma connection
 
 filter(new DIFilter("connetion", Connection.class)); 
 
 


Note que o DIFilter vai buscar a dependência no input da action, utilizando a chave "connection".

Repare que o DIFilter pode e deve ser um filtro global, de forma que todas as action terão seus componentes automaticamente completados com suas dependências. (auto-wiring)




http://www.boaglio.com
[WWW]
 
Forum Index -> F.A.Q.
Go to:   
Powered by JForum 2.1.6 © JForum Team