Ich arbeite an einer Silverlight-Anwendung. Ich habe es in mehrere Baugruppen aufgeteilt:
- Domain
- Repositorys (alles mit der Sterling-Datenbank)
- Benutzeroberfläche
- ...
So habe ich es gelernt, aber ich habe mich gefragt. Wenn Sie wissen, dass die DLLs nicht wiederverwendet werden, müssen Sie sie dann aufteilen? Oder könnten Sie alles in einer Assembly zusammenfassen und Ordner und Namespaces verwenden, um es aufgeräumt zu halten?
Ich habe auch Projekte gesehen, die zu viele Baugruppen haben. Anstatt Namespaces dort zu verwenden, wo es angemessen gewesen wäre.
Also: Wann erstellen Sie eine neue Assembly für einen neuen Code? Irgendwelche guten Ressourcen zu diesem Thema? Und teilen Sie den Code technisch (Domäne, Daten, Benutzeroberfläche usw.) und / oder funktional (dh Patientenverwaltung, Patientenmedizin, Krankenhauslogistik, ... - wahrscheinlich nur für größere Anwendungen auf Unternehmensebene) auf?
A
,B
,C
,D
,E
,F
,G
,H
,I
,J
,K
. Wo auch immer Sie Assembly verweisenA
, müssen Sie auch die abhängigen Assemblys verweisen:B
,C
,D
. Aber MontageC
ist abhängig von:E
,F
,G
,H
so werden wir diese natürlich auch brauchen. Wenn Sie also eine Funktion benötigen, müssenA
Sie 7 zusätzliche Baugruppen herunterziehen, damit sie funktioniert. Stellen Sie sicher, dass Sie die richtigen Versionen jeder Baugruppe erhalten. Willkommen in der neuen DLL-Hölle.Eine Assembly ist die Bereitstellungseinheit für eine .NET-Anwendung. Daher sollten Sie in Betracht ziehen, den Schnitt Ihrer Assemblys mit Ihrer Bereitstellungsarchitektur abzugleichen.
Baugruppen sind auch nützlich, wenn Sie für einen Code eine separate Versionskontrolle benötigen. Wenn Sie beispielsweise gemeinsame Schnittstellen haben, die von einer unabhängigen Versionskontrolle profitieren würden, sollten Sie diesen Code in eine Assembly aufteilen.
Denken Sie daran, dass Namespaces Assemblys umfassen können. In vielen Fällen reicht es aus, das Verhalten mithilfe von Namespaces zu trennen. Schauen Sie sich das .NET an
mscorlib.dll
, das in einer einzelnen Assembly Code enthält, der eine Vielzahl von Verhaltensweisen abdeckt, die nur durch den Namespace getrennt sind.Wenn Sie eine Autorität in diesem Bereich wünschen, suchen Sie nicht weiter als:
Richtlinien für das Framework-Design: Konventionen, Redewendungen und Muster für wiederverwendbare .NET-Bibliotheken (2. Auflage) von Krzysztof Cwalina und Brad Abrams.
quelle