Der beste Ort und die beste Methode, um Objekte in einer mehrstufigen Castle Windsor-Anwendung zu registrieren
Bei der Integration von Castle Windsor in eine Anwendung mit einer mehrschichtigen Struktur (z. B. einer Datenzugriffsschicht, einer Geschäftslogikschicht und einer Anwendungsschicht) ist es wichtig, das Design der Objektregistrierung in Windsor sorgfältig zu prüfen. Die Frage ist: Wer sollte für die Registrierung von Objekten verantwortlich sein?
Gestaltungsplan für Objektregistrierung
Empfohlene Methode: Kombinationswurzeln
Um maximale Modularität und lose Kopplung zu erreichen, sollten alle Anwendungskomponenten so spät wie möglich komponiert werden. In der Praxis bedeutet dies, den Container im Stammverzeichnis der Anwendung zu konfigurieren:
Main
Anleitung Global.asax
ServiceHostFactory
-Container fungiert als Kompositions-Engine und der Anwendungsstamm fungiert als Kompositionsstamm . Dadurch wird sichergestellt, dass die Anwendung eine einfach ausführbare Datei bleibt, ohne dass unnötige Unit-Tests erforderlich sind.
Testen ohne Behälter
Beim Testen sollte man sich nicht auf Container verlassen. Stattdessen sollten Objekte und Module so konzipiert werden, dass sie Container-agnostisch sind. Unit-Tests können direkt Testdoppelte für diese Komponenten bereitstellen.
Windsor-Installationsprogramm wird zum Verpacken von
verwendetIn Windsor kann die Komponentenregistrierungslogik in einem Installationsprogramm gekapselt werden, das IWindsorInstaller
implementiert. Weitere Einzelheiten finden Sie in der Windsor-Dokumentation.
Das obige ist der detaillierte Inhalt vonWo sollte ich Objekte in einer mehrschichtigen Castle Windsor-Anwendung registrieren, um optimales Design und Testbarkeit zu gewährleisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!