„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wo soll ich Objekte in einer mehrschichtigen Schloss Windsor-Anwendung registrieren, um optimales Design und Testbarkeit zu erhalten?

Wo soll ich Objekte in einer mehrschichtigen Schloss Windsor-Anwendung registrieren, um optimales Design und Testbarkeit zu erhalten?

Gepostet am 2025-03-05
Durchsuche:948

Where Should I Register Objects in a Multi-Layered Castle Windsor Application for Optimal Design and Testability?

Der beste Ort und die beste Methode zum Registrieren von Objekten in einem Multi-Level-Schloss Windsor Application

Bei der Integration von Castle Windsor in Anwendungen mit mehrschichtigen Strukturen wie Datenzugriffsschicht, Geschäftslogikschicht und Anwendungsschicht ist es wichtig, die Gestaltung der Objektregistrierung in Windsor sorgfältig zu berücksichtigen. Die Frage ist: Wer sollte für die Registrierung des Objekts verantwortlich sein?

Designplan für Objektregistrierung

]
  1. Jede Ebene registriert ihr eigenes Objekt: Jede Ebene registriert ihr eigenes Objekt. Beispielsweise registriert die Business Logic Layer die Datenzugriffsschichtkomponenten, während die Testplattform der Geschäftslogikschicht die Datenzugriffsschicht durch simulierte Klassen ersetzt.
  2. Abhängigkeit Registrierung: Jede Ebene registriert ihre Abhängigkeiten, wie z. Durch das Testen werden "reale" Datenzugriffsschichtobjekte deinstallieren und sie durch Scheinobjekte ersetzt.
  3. Anmeldungsstufe Registrierung: Die Anwendung (oder die Testanwendung) ist für die Registrierung von Objekten aller Abhängigkeiten verantwortlich.

Empfohlene Methode: Kombination Root ]

Um maximale Modularität und lose Kopplung zu erreichen, sollten alle Anwendungskomponenten so spät wie möglich kombiniert werden. Tatsächlich bedeutet dies, den Container im Stammverzeichnis der Anwendung zu konfigurieren:

    Desktop -Anwendung:
  • main methode
  • ASP.NET Application:
  • global.asax ]
  • wcf application:
  • serviceHostfactory
Container fungieren als Kombinationsmotoren, und das Anwendungs ​​-Root -Verzeichnis fungiert als

Kombination Root . Dadurch wird sichergestellt, dass die Anwendung ohne unnötige Unit -Tests einfach ausführbar bleibt.

kein Container testing ]]

Tests sollten die Abhängigkeit von Containern vermeiden. Im Gegenteil, das Design von Objekten und Modulen sollte unabhängig vom Behälter sein. Unit-Tests können direkt Test-eigenständige für diese Komponenten bereitstellen.

Windsor Installer wird verwendet, um zu incapsuliert.

In Windsor kann die Komponentenregistrierungslogik im Installateur eingekapselt werden, das

iWindsorinstaller implementiert. Weitere Informationen finden Sie in der Windsor -Dokumentation.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3