Pim Elshoff Blog: Dependency-Management

Pim Elshoff hat einen kürzlich erschienenen Beitrag in seinem Blog über Dependency Injection in PHP-Anwendungen und einige der guten und schlechten Dinge über ihre Durchführung. Er enthält Beispiele für ein paar verschiedene Arten von „Injektion“ von Globals mit einem tatsächlichen Dependency Injection Container.

Dieser Artikel beschreibt allgemeine Schmerzen und Symptome der schlechten Verwaltung von Abhängigkeiten und gemeinsamen Techniken für den Umgang mit Projekt-weite Abhängigkeiten. […] Für die Zwecke dieses Artikels werde ich über die Klassen mit anderen Klassen spreche. Um Ihre Software Abhängigkeiten zu verwalten wird dann zu der Gestaltung Ihrer Software-Architektur, so dass die Depencies gut sind. In den folgenden Abschnitten wird über das, was ist schlecht zu sprechen, mit guten als die Abwesenheit von schlecht.

In seiner „Probleme“ Abschnitt enthält er Dinge wie „es ist einfach zu tun, falsch“, „es ist schwer loszuwerden“, die „niedrige Wiederverwendung in Bad DI“ und wie schlecht DI kann für „unprüfbar Software“ zu machen. Er zeigt auf ein paar Pakete (einschließlich PHP_Depend ), die verwendet werden, um Ihre Abhängigkeit Ebenen ermittelt werden kann. Seine Methoden für „injection“ gehören mit dem globalen Bereich (so schlecht), mit Einspritzung in einem Konstruktor / Setter, so dass ein Service Locator (Registry) und mit einem vollwertigen Dependency Injection Container.

Alle Techniken, Tricks und Gimmicks beiseite lässt, ist die Verwaltung von Abhängigkeiten mehr über konkrete Ausgestaltung als abstraktes Design Patterns. Sie sind selbst dafür verantwortlich, dass die Zahl der Abhängigkeiten so gering wie möglich und Gestaltung Ihres Systems, so dass Zugang zu den Abhängigkeiten in einem gesunden, verständliche Art und Weise bereitgestellt wird.

PHPDeveloper.org

Schreibe einen Kommentar