Klasse vs Paket vs Modul vs Komponente vs Container vs Service vs Plattform in der Java-Welt [geschlossen]

Ich bin ein Neuling in der Java-Welt (7 Jahre Low Level C).

Als ich anfing, Java-bezogene Sites zu lesen:

http://wiki.apidesign.org/wiki/Main_Pagehttp://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/

Ich verwechsle mit der vorhandenen Terminologie:

KlassePaketModulKomponenteContainerBedienungRahmenPlattform

Ich habe viele Ressourcen zur Definition von Begriffen gefunden (und vieles mehr):

Framework vs. Toolkit vs. BibliothekUnterschied zwischen Gerüst und Container?Was sind die Container in JavaDefinition eines Java Containershttp://martinfowler.com/articles/injection.html (Inversion von Kontrollbehältern und das Abhängigkeitsinjektionsmuster)http://www.cafeaulait.org/course/week8/36.html (Was ist ein AWT-Container?)http://en.wikipedia.org/wiki/Web_containerhttp://netbeans.org/features/platform/ (Die NetBeans-Plattform)Was versteht man unter "Application Framework"?Was ist ein Software-Framework?Was ist der Unterschied zwischen einem Framework und einer Bibliothek?Was ist der Unterschied zwischen einer Klassenbibliothek und einem Framework?https://stackoverflow.com/questions/11576018/what-is-the-difference-between-a-javascript-framework-and-a-libraryWas ist der Hauptunterschied zwischen einem Framework und einem Toolkit?http://blog.orderharmony.com/2011/07/libraries-vs-frameworks.htmlhttp://www.javacodegeeks.com/2012/04/frameworks-vs-libraries-as-inheritance.htmlUnterschied zwischen Bibliothek, Plattform und Framework?Was ist der Unterschied zwischen einer Plattform und einem Framework?Was ist der Unterschied zwischen einem Framework und einer Plattform?Unterschied zwischen einem Modul, einer Bibliothek und einem Framework

Aber jede dieser Ressourcen definiert sie für sich und ich kann im Allgemeinen immer noch nicht zum Beispiel das Modul von der Komponente unterscheiden.

Bitte erläutern Sie, was diese Begriffe im Großen und Ganzen bedeuten (kann eine einzelne Klasse einer Plattform sein, wie viele Module sind erforderlich, um einen Container zu erstellen, usw.).

UPDATE 2019 Vonhttps://www.artima.com/lejava/articles/reuse3.html (meine Hervorhebung)

Bill Venners: Was ist der Unterschied zwischen einem Framework, einer Plattform und einem Toolkit und was sind die unterschiedlichen Flexibilitätsanforderungen?

Erich Gamma: Mit einerPlattform Ich verbindeLangzeitstabilität. Es ist sicher, auf einer Plattform zu bauen. Eine Plattform machtKompatibilität Garantien. Frameworks haben oft nicht diese Qualität und ich habe gesehenviele rahmenbedingungen Ausfälle in Bezug aufStabilität. Wenn Sie sich mit Eclipse befassen, sind Frameworks, Toolkits und Plattform-APIs enthalten. All dies wird als Plug-Ins gebündelt.Frameworks werden abstrakt und bieten Standardfunktionen auf höherer Ebene. Dazu dieDer Rahmen muss unter Kontrolle sein. Dieser Kontrollverlust kann zu einer sogenannten Frameworkitis führen.

Bill Venners: Und Toolkits nicht, weil ...

Erich Gamma: MitWerkzeugsätze SieErstellen und Aufrufen von Toolkit-Objekten und Registrieren von Listenern, um auf Ereignisse zu reagieren. Du bistin der Kontrolle. Frameworks versuchen, die Kontrolle zu behalten und Ihnen mitzuteilen, wann was zu tun ist. EINToolkit gibt dir dieBausteine aber überlässt es Ihnen, die Kontrolle zu haben.

Ein anderes Zitat beantwortet meine naive Frage, wie viele Klassen etwas zu einem Rahmen machen:

https://www.artima.com/lejava/articles/reuse.html

Erich Gamma: ... JUnit ist zum Beispiel ein kleines Framework. Es ist die "Hallo Welt" der Frameworks. Du hastTest, TestCase, TestSuite und Beziehungen definiert. Sie können sich auch in Frameworks einklinken, indem Sie eine Unterklasse bilden. Sie verwenden das sogenannte Hollywood-Prinzip: "Rufen Sie uns nicht an, wir rufen Sie an." Mit dem Framework können Sie Ihr benutzerdefiniertes Verhalten definieren und es ruft Sie zurück, wenn Sie an der Reihe sind, etwas zu tun. Gleiches gilt für JUnit, oder? Es ruft Sie zurück, wenn es einen Test für Sie ausführen möchte, aber der Rest wird im Framework erledigt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage