Ich habe gelesen, effektive Java und ich habe Bedenken in Bezug auf das erste Element "verwenden statische Factory-Methode anstelle von Konstruktor" in Bezug auf TDD und Abhängigkeitsinjektion.Effektive Java Element 1 Anwendbarkeit mit TDD und Abhängigkeitsinjektion
Das Element besagt, dass Sie vermeiden sollten, öffentliche/protected/default-Konstruktor und expose es mit statischen Factory. Ich stimme allen Vorteilen im Zusammenhang mit der Verwendung von statischen Fabriken wie Fabriken Namen haben, können Sie Subtype zurückgeben, können Sie Ausführlichkeit etc. reduzieren. Aber, ich denke in Nachteile Joshua vermisste TDD, weil statische Fabriken in Ihrem Code zu führen enge Kopplung und Sie können die Klasse nicht damit verspotten. Wir können nicht die Klasse vortäuschen, die statische Fabriken haben wird. Dies behindert die testgetriebene Entwicklung.
Zweiter Punkt, ich denke, er vermisste, dass in der heutigen Unternehmensentwicklung die meisten der Anwendungen den einen oder anderen Abhängigkeitsinjektionscontainer verwenden. Also, wenn wir Abhängigkeiten mit DI injizieren können, warum sollte ich es verwenden.
Bitte erläutern Sie, wie es für die heutige Java-Unternehmensentwicklung gilt, die DI und TDD enthält.
Ich glaube nicht, dass Sie meine Frage bekommen. Die Frage ist nicht, dass wir neue Kopplung einführen und wir sollten statische Fabriken verwenden. Es geht um seine Anwendbarkeit in der heutigen Unternehmensentwicklung. Ich sage nicht, dass Joshua Bloch DI nicht kennt. Bitte antworten Sie auf das, was ich in meiner Frage frage. Zweite Ausgabe veröffentlicht im Mai 2008 – Shekhar
Ich weiß, wann die zweite Ausgabe veröffentlicht wurde. Ich sage, dass er dieses Kapitel einfach nicht aktualisiert hat. Und "Nachteile Joshua vermisste TDD" ließ mich schließen, dass Sie sagten, dass Bloch DI nicht kannte. – duffymo