Tenho visto em alguns sites que a inversão de controle diminue a dependencia que existe entre uma classe e outra de modo que você não precise instaciar o objeto na página, mas se é esse o problema não seria uma alternativa usar métodos estáticos?
Ainda não entendo bem desse conceito de IoC então provavelmente estou errado mas quero ouvir o que você tem a dizer…
Amigo a grosso modo trabalhar com metodos estaticos não seria muito viavel dependendo do seu objetivo… isto pois sabemos que classes que possuem variaveis e metodos staticos uma vez carregadas pela JVM permanecem na heap enquanto a JVM estiver executando… Logo não seria uma boa ideia no caso de uma aplicaçao de medio e grande porte. E por isso que eu acho que a inversao de controle é uma tecnica bastante valida ainda pra diminuir o acoplamento.
Giulliano
Um exemplo rápido de IOC
Método sem IoC:
publicvoidinserir(Clientecliente){Connectionc=FabricaConexao.abrirConexao();....//faz algumas coisas e talstatement.insert(cliente);c.commit();c.close();}
A grande sacada do IoC é inverter algumas responsabilidades, como no exemplo citado acima, onde o método inserir não cuida da abertura da conexão e nem é responsável pelo commit ou rollback da transação. Ao invés disso ele transfere a responsabilidade para quem o chama e espera receber a conexão pronta para que ele possa usar.