Tengo una buena cantidad de OOP con varios idiomas, pero soy bastante nuevo en Java.
Estoy leyendo una gran cantidad de tutoriales donde se crean grandes cantidades de objetos dentro del código de una clase, y estoy tratando de ejecutarlos, pero construyo versiones de las clases en los tutoriales que hacen la Inyección de dependencia en lugar de instanciar todos los clases ellos mismos.
Pero Java no es como otros lenguajes que he usado en que casi todo es un objeto. Si tuviera que inyectar literalmente todo, entonces el resultado sería muy complicado y difícil de seguir.
Obviamente no inyectarías objetos String, y supongo que hay otros objetos que no inyectarías, pero no estoy seguro de dónde debe ir la línea. ¿En qué momento DI deja de ser lo correcto y cuándo comienza a ser una carga? ¿Cómo se decide pragmáticamente qué inyectar y qué crear una instancia?
Para su información, los tutoriales que estoy haciendo son http://edn.embarcadero.com/article/31995 y http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html para crear un cliente simple y servidor. Sin embargo, no los estoy copiando línea por línea, estoy tratando de crear clases equivalentes que sigan las mejores prácticas