Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Framework:
Ein Framework ist ein Programmiergerüst?
Kann mir jemand ein Beispiel dafür nennen (Direkt für Java 8), verstehe das nicht ganz.
Library:
Librarys werden importiert um gewisse Funktionen zu nutzen. BSP: import java.math.*
um SQRT Funktionen zu nutzen.
java.lang.*; ist die Library die immer drinnen ist um Strings oder ähnliches boolean usw. zu nutzen
1. Ist das so korrekt?
2. Ich versteh den unterschied zwischen Beiden noch nicht genau?
Bitte um Hilfe. Danke
Library: Bietet Funktionen, die du in deinem Programm aufrufst und nutzt.
Framework: Bietet einen Rahmen für dein Program, in den du dein Programm "einfügst".
Was eine Library ist, scheinst du verstanden zu haben.
Nun Zum Framework:
Wir haben in der Firma eine Kaffeemaschine. Nur leider können meine Kollegen (sind halt Programmierer) diese nicht bedienen. Manchmal füllen sie den Kaffee ein, ohne den Filter eingelegt zu haben, manchmal stellen sie sie an, obwohl sie kein Wasser eingegossen haben ...
Ich habe mir deshalb vorgenommen, ein Framework zu schreiben, damit das Kochen des Kaffees funktioniert. Mein tolles Kaffeekochprogramm soll auch in anderen Firmen benutzbar sein. Allerdings weis ich nicht, wie die konkrete Kaffeemaschine funktioniert
Ich erzeuge zunächst ein Interface, das alle Kaffeemaschinen erfüllen sollten
Und dazu ein "Framework", das die Funktionen in der richtigen Reihenfolge aufruft:
Java:
public class KaffeeKocher {
private KaffeeMaschine kaffeeMaschine;
public KaffeeKocher(KaffeeMaschine kaffeeMaschine) {
this.kaffeeMaschine = kaffeeMaschine;
}
public void kocheKaffee() {
kaffeeMaschine.filterEinfuellen();
kaffeeMaschine.kaffeEinfuellen();
kaffeeMaschine.wasserEinfuellen();
kaffeeMaschine.anstellen();
}
}
Einem Benutzer meines "Frameworks" habe ich damit die schwere Aufgabe abgenommen, in welcher Reihenfolge die unterscheilichen Funktionen zu benutzen sind. Er muss dann "nur" noch schreiben:
Java:
class MeineGrueneKaffeeMaschine implements KaffeeMaschine {
void filterEinfuellen() {/* den linken Deckel heben und ... */}
void kaffeEinfuellen() {/* der Kaffe steht oben links ... */}
void wasserEinfuellen() {/* den Kran aufdrehen ... */}
void anstellen() {/* auf die rote Taste druecken */}
}
Und damit kann er "einfach" aufrufen
Java:
pubic class Main {
public static vid main(String[] args) {
KaffeeMaschine kaffeeMaschine = new MeineeGrueneKaffeMaschine();
KaffeeKocher kaffeeKocher = new KaffeeKocher(kaffeeMaschine);
kaffeeKocher.kocheKaffee();
}
Das Einbinden eines solchen Frameworks (das normalerweise als .jar vorliegt) benötigt natürlich einige Mühe. Es ist hier schon öfter darüber diskutiert worden, ob sich diese Mühe lohnt.