Ich bin in erster Linie ein ASP.NET-Entwickler und das einzige, was mir in den letzten Jahren vorgestellt wurde und das die Qualität des von mir geschriebenen Codes am dramatischsten beeinflusst hat, ist das Erlernen der Verwendung von IoC-Containern zum Verwalten von Abhängigkeiten zwischen verschiedenen Ebenen der Anwendung effizient.
Ich habe es mir kürzlich zum Hobby gemacht, Ruby (und Rails) für persönliche Projekte zu lernen, und ich liebe die Sprache bisher. Eines der Dinge, die ich in den verschiedenen Tutorials und Referenzen, die ich verwendet habe, bemerkt habe, war, dass die Verwendung von IoC noch nicht erwähnt wurde. Dies steht in krassem Gegensatz zu .NET, wo es in einem frühen Stadium in Entwickler getrommelt wird (und wo es nicht sein sollte).
Ich weiß, dass ein Grund, warum die Abhängigkeitsinjektion in Ruby möglicherweise nicht erforderlich ist, darin besteht, dass alles in einer Klasse öffentlich und virtuell ist und so offen für Änderungen ist, dass es nicht wirklich benötigt wird, um gute Komponententests zu schreiben. Die Verwendung von IoC-Containern bietet natürlich noch viele weitere Vorteile, z. B. die damit verbundenen Entkopplungsoptionen, die Verwaltung der Objekterstellung und der Lebensdauer usw.
Wird die Abhängigkeitsinjektion in Ruby verwendet? Wenn nicht, warum ist dies kein Problem?