1031 Stimmen

Was ist der Unterschied zwischen einem Framework und einer Bibliothek?

Was ist der Unterschied zwischen einer Rahmenwerk und eine Bibliothek ?

Ich habe mir eine Bibliothek immer als einen Satz von Objekten und Funktionen vorgestellt, der sich auf die Lösung eines bestimmten Problems oder eines bestimmten Bereichs der Anwendungsentwicklung (z. B. Datenbankzugriff) konzentriert; ein Framework hingegen ist eine Sammlung von Bibliotheken, die sich auf eine bestimmte Methodik (z. B. MVC) konzentriert und alle Bereiche der Anwendungsentwicklung abdeckt.

6voto

stefano m Punkte 3894

Ich denke, eine Bibliothek ist eine Reihe von Hilfsmitteln, um ein Ziel zu erreichen (z. B. Sockets, Kryptographie usw.). Framework ist Bibliothek + RUNTIME EINVIRONNEMENT. ASP.NET ist z.B. ein Framework: es nimmt HTTP-Anfragen an, erstellt Seitenobjekte, ruft Lyfe-Cicle-Ereignisse auf, usw. Das Framework macht all das, Sie schreiben ein bisschen Code, der zu einem bestimmten Zeitpunkt des Lebenszyklus der aktuellen Anfrage ausgeführt wird!

Wie auch immer, eine sehr interessante Frage!

5voto

Adam Bellaire Punkte 103525

Ihre Interpretation klingt für mich ziemlich gut... A Bibliothek kann alles sein, was kompiliert und in sich abgeschlossen ist, um in anderem Code wiederverwendet zu werden, es gibt buchstäblich keine Beschränkung für den Inhalt.

A Rahmenwerk auf der anderen Seite wird erwartet, dass es eine Reihe von Einrichtungen für den Einsatz in einem bestimmten Bereich der Anwendungsentwicklung hat, genau wie Ihr Beispiel, MVC.

5voto

Junior Garza Punkte 51

Ich kann mich nicht mehr an die Quelle dieser Antwort erinnern (ich glaube, ich habe sie in einer .ppt im Internet gefunden), aber die Antwort ist ganz einfach.

Eine Bibliothek und ein Framework sind eine Reihe von Klassen, Modulen und/oder Code (abhängig von der Programmiersprache), die in Ihren Anwendungen verwendet werden können und Ihnen helfen, ein bestimmtes "Problem" zu lösen.

Das Problem kann die Protokollierung oder das Debuggen von Informationen in einer Anwendung sein, das Zeichnen von Diagrammen, das Erstellen eines bestimmten Dateiformats (html, pdf, xls), das Herstellen einer Verbindung zu einer Datenbank, das Erstellen eines Teils einer Anwendung oder einer vollständigen Anwendung oder eines Codes, der auf eine Entwurfsmuster .

Man kann ein Framework oder eine Bibliothek haben, um all diese Probleme und viele mehr zu lösen. Normalerweise helfen die Frameworks dabei, komplexere oder größere Probleme zu lösen, aber das ist eine Folge ihres Hauptunterschieds und keine Hauptdefinition für beide.

Der Hauptunterschied zwischen einer Bibliothek und einem Framework ist die Abhängigkeit zwischen ihrem eigenen Code, oder anders ausgedrückt, um ein Framework zu verwenden, müssen Sie müssen Sie fast alle Klassen, Module oder Code in der FW verwenden, aber um eine einer Library können Sie eine oder wenige Klassen, Module oder Code in der lib in Ihrer eigenen Anwendung verwenden

Das heißt, wenn ein Framework z.B. 50 Klassen hat, müssen Sie, um das Framework in einer App zu verwenden, 10-15 oder mehr Klassen in Ihrem Code verwenden, denn so ist ein Framework aufgebaut, einige Klassen (Objekte dieser Klassen) sind Eingaben/Parameter für Methoden in anderen Klassen im Framework. Siehe das .NET-Framework, Spring oder ein beliebiges MVC-Framework.

Aber zum Beispiel eine Log-Bibliothek, können Sie nur eine Log-Klasse in Ihrem Code verwenden, und hilft Ihnen, die "Logging-Problem" zu lösen, das bedeutet nicht, dass die Log-Bibliothek nicht mehr Klassen in seinem Code, wie Klassen, um Dateien zu behandeln, behandeln Bildschirmausgaben, oder sogar Datenbanken, aber Sie nie berühren / verwenden, dass Klassen in Ihrem Code, und das ist der Grund, warum ist eine Bibliothek und nicht ein Rahmen.

Außerdem gibt es noch mehr Kategorien als Frameworks und Bibliotheken, aber das ist ein anderes Thema.

5voto

Gishu Punkte 130442

Bibliothek - Eine beliebige Menge von Klassen oder Komponenten, die der Kunde nach eigenem Ermessen verwenden kann, um eine bestimmte Aufgabe zu erfüllen.
Rahmen - gibt Ihnen bestimmte Richtlinien vor, damit Sie sich in etwas Größeres als Sie selbst "einfügen" können. Sie stellen lediglich die für Ihre Anwendung/Anforderungen spezifischen Teile in der erforderlichen Weise zur Verfügung, so dass "das Rahmenwerk Ihnen das Leben leicht machen kann".

5voto

PhiLho Punkte 39496

Ich denke, Sie haben den Unterschied recht gut auf den Punkt gebracht: Der Rahmen bietet einen Rahmen, in dem wir unsere Arbeit tun... Irgendwie ist er "zwingender" als eine einfache Bibliothek.
Der Rahmen soll auch die Konsistenz einer Reihe von Bibliotheken verbessern.

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