17 Stimmen

Wann ist der richtige Zeitpunkt für die Verwendung der C#-Klassenbibliothek (.dll)?

Ich bin ein Programmierer, der nie wirklich mit .dll-Dateien gearbeitet hat. Natürlich, wenn ich Software von Drittanbietern benötige, z. B. eine Grafikbibliothek, eine Bibliothek, die mir bei der Erstellung von Diagrammen hilft usw. Ich füge die Verweise/ddl-Dateien zu meinem Programm hinzu und verwende sie in meinem Code.

Außerdem scheint es, dass man .dll für viele verschiedene Dinge verwenden kann, daher möchte ich, dass sich das Thema auf C# konzentriert.

Im Moment arbeite ich an einer Sanitizing-Bibliothek(?) (ich glaube, das ist der richtige Begriff), die voller relevanter Methoden sein wird, die Variablen auf alle möglichen Arten sanitisieren können.

Was ich wissen möchte, ist:

hätte das irgendeinen Vorteil:

1) Schreiben Sie die Methoden in eine Klassenbibliothek -> kompilieren/erstellen Sie sie -> fügen Sie die Bibliothek als Verweis in das Programm ein - was einige Variablen bereinigen müsste?

Oder wäre es genau dasselbe, wenn ich es tun würde?

2) Erstellen Sie eine neue SanitizeClass im Programm -> fügen Sie alle Sanitize-Methoden hinzu -> rufen Sie die Methoden der SanitizeClass in den verschiedenen Klassen im Programm auf, die Variablen sanitisieren müssen

Im Allgemeinen möchte ich auch wissen, wann es von Vorteil ist, kompilierte Klassenbibliotheken zu verwenden. Ich denke dabei an Geschwindigkeit, Sicherheit und so weiter.

Kann mich jemand aufklären? :)

29voto

Jon Skeet Punkte 1325502

Die entscheidende Frage ist: Ist es sinnvoll, dass mehr als eine Anwendung den Typ verwendet? Wenn ja, sollte er in einer Klassenbibliothek enthalten sein. Wenn nicht, können Sie immer noch nur der Trennung halber in einer Klassenbibliothek unterbringen wollen (z. B. eine Assembly pro Schicht in einer n-schichtigen Lösung), aber Sie podría fügen Sie es einfach in Ihre Bewerbung ein.

Wenn Ihre Sanitisierung universell einsetzbar ist, dann wäre die Aufnahme in eine Klassenbibliothek definitiv der richtige Schritt.

Ich kenne Leute, die fast keinen Code in ausführbare Anwendungen schreiben und fast alles in Klassenbibliotheken - so dass die Anwendung im Grunde nur die Klassenbibliotheken umhüllt. Ich selbst neige nicht dazu, ganz so weit zu gehen...

2voto

BFree Punkte 100035

Der erste Gedanke, der mir in den Sinn kommt, ist die Wiederverwendbarkeit. Wird diese Sanitize-Bibliothek jemals außerhalb der Anwendung, an der Sie gerade arbeiten, verwendet werden? Wenn ja, dann wollen Sie in der Zukunft nicht auf eine Exe verweisen müssen, dafür wollen Sie eine DLL-Datei erstellen (möglicherweise sogar mit starkem Namen und GAC) und dann in der Zukunft nur darauf verweisen.

2voto

Martin Punkte 5651

Die Verwendung von Bibliotheken ist nützlich, wenn Sie Code zwischen mehreren Programmen austauschen möchten.

Wenn Sie davon ausgehen, dass Sie Ihre Klassen zur Datenbereinigung in mehr als einem Programm benötigen, ist es eine gute Idee, sie in einer Bibliothek zusammenzufassen.

Es ist auch eine gute Idee, Schichten Ihrer Anwendung in verschiedenen Bibliotheken unterzubringen (siehe n-tier Architektur)

2voto

Richard Punkte 103159

Zusätzliche Baugruppen führen zu einer geringfügigen Erhöhung der Ladezeit und des Speicherbedarfs, haben aber ansonsten keine Auswirkungen auf die Leistung.

Die Sicherheit spielt nur dann eine Rolle, wenn Sie eine andere Code-Zugangssicherheit (CAS) benötigen und CAS nutzen werden.

Dafür gibt es im Allgemeinen drei Gründe:

  1. Das macht die Dinge einfacher. Alles in eine einzige Baugruppe zu packen, wird unhandlich (dies könnte auch organisatorische/teamtechnische Gründe haben).

  2. Wiederverwendung.

  3. Sie benötigen separate Baugruppen. Z.B. um Schnittstellen und Implementierung in verschiedenen Assemblies zu haben, damit AppDomains entladen werden können (z.B. für Plugins).

1voto

Ramesh P Punkte 81

Was ist Class Lib?

Wir können die Klassendateien in allen .Net-Anwendungen erstellen (C#.Net, Asp.net, Asp.net MVC)

In Java heißt es Paket!...

In .Net wird es als DLL (Dynamic Link Library) bezeichnet.

Wenn Sie die Klassen in Ihrer Anwendung erstellen, können Sie diese Klassen nur innerhalb dieser Anwendung verwenden, Sie können sie nicht in anderen Anwendungen verwenden.

Wenn Sie die Klassenbibliothek erstellen, können Sie sie in allen Anwendungen verwenden.

Wann müssen Sie Class Lib erstellen und verwenden?

Wenn wir den gleichen Code in verschiedenen Anwendungen schreiben, können wir die Klassenbibliothek erstellen und sie in allen Anwendungen verwenden.

Beispiel:

Wenn Sie die Option "Excel exportieren" in mehr als einer Anwendung haben, können Sie den Exportcode in eine Klassenbibliothek schreiben und ihn in mehr als einer Anwendung verwenden.

Beispiel in Echtzeit:

Klasse ist wie ein Mülleimer in einem Raum und nur Raummitglieder können darauf zugreifen.

Klasse lib ist wie ein Mülleimer an einem gewöhnlichen Ort (Hochschule, Bahnhof), zu dem jeder Zugang hat und den jeder nutzen kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X