Container IoC

6 respostas
A

Estamos estudando o uso de containers IoC em um sistema (teremos uma arquitetura pluggavel e IoC deve ajudar a manter o acoplamento fraco). Mas nao conhecemos bem os prós e contras dos containers disponíveis por aí.

Alguém já trabalhou com Spring/Picocontainer/Nanocontainer/Avalon? A experiência foi boa?

Links para comparações na web seriam muito úteis também (e sim, eu estou fazendo essa pesquisa no google também…)

tks.

6 Respostas

kuchma

Nunca trabalhei com nenhum container pra fazer isso, mas, apenas pra aumentar seu trabalho… :smiley:

HiveMind
http://jakarta.apache.org/hivemind/

O artigo do TSS foi (IMHO) esclarecedor. Apresenta os conceitos de IoC de forma simples e ja parte para os exemplos. Alguem ja usou esse cara? O que diria?

Talvez isso ajude ou atrapalhe ainda mais:

http://java-source.net/open-source/containers

Marcio Kuchma

cv1

Ja usei Spring e Pico, e as experiencias com os dois foram otimas. Minha preferenca pessoal eh o Spring, por causa da documentacao e das frescurinhas embutidas (*Template, e tal)

Mauricio_Linhares

Também usei os dois e também prefero o Spring pelos brindes, especialmente o suporte a AOP (mesmo que o AspectJ seja melhor), transações e o Quartz, que foi realmente uma mão na roda pra mim :smiley:

Mas se você só precisa de um container IoC, os dois são bem equivalentes.

C

Cara tem esse artigo do Martin Fowler q vale dar uma lida: http://www.martinfowler.com/articles/injection.html

kuchma

Soh pra constar: pelo que vi no artigo do TSS, o HiveMind tambem oferece suporte a AOP.

Marcio Kuchma

A

Obrigado por todas as respostas até agora.

Eu gostei da abordagem minimalista do Picocontainer, da configuração programatica em Java e do mecanismo de Container Hierarchies. So fiquei um pouco preocupado com o excesso de magica do sistema de auto wiring; penso que em situacoes mais complexas que os exemplos dos tutoriais ele pode ser uma fonte de bugs.

O Spring tem os vários “brindes” que são interessantes. E, pelo que pude perceber, totalmente opcionais, o que é ótimo. A configuaração dos componentes parece mais determinista e controlável do que no pico. Ainda não descobri se existe algo parecido com as Containers Hierarchies que eu mencionei; isso tem que ser mais estudado.

O Hivemind não é parece ser muito diferente dos outros. As facilidades para controle do ciclo de vida parecem legais; mas acho que precisaria de algo alem dos Service Lifecycle Models padroes para implementar um controle de escopo mais detalhado (como pensei em fazer com as hierarchies). E fiquei com a impressão que ele é um pouco mais invasivo que o Spring e o pico, mas isso pode ser apenas devido à abordagem do autor do tutorial.

Enfim, nenhum vencedor ainda…

Criado 21 de maio de 2005
Ultima resposta 22 de mai. de 2005
Respostas 6
Participantes 5