Klasa vs pakiet vs moduł vs komponent vs kontener vs usługa vs platforma w świecie Java [zamknięte]

Jestem nowicjuszem w świecie Java (7 lat niskiego poziomu C).

Kiedy zacząłem czytać strony związane z Javą:

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

Zdezorientowałem istniejącą terminologią:

klasapakietmodułskładnikpojemnikusługastrukturaPlatforma

Znalazłem wiele zasobów na temat definicji terminów (i wiele więcej):

Framework vs. Toolkit vs. LibraryRóżnica między ramą a pojemnikiem?Czym są kontenery w JavieDefinicja kontenera Javahttp://martinfowler.com/articles/injection.html (Inwersja kontenerów kontrolnych i wzorzec wtrysku zależności)http://www.cafeaulait.org/course/week8/36.html (Co to jest kontener AWT?)http://en.wikipedia.org/wiki/Web_containerhttp://netbeans.org/features/platform/ (Platforma NetBeans)Co oznacza „ramy aplikacji”?Czym jest struktura oprogramowania?Jaka jest różnica między ramą a biblioteką?Jaka jest różnica między biblioteką klas a ramąhttps://stackoverflow.com/questions/11576018/what-is-the-difference-between-a-javascript-framework-and-a-libraryJaka jest główna różnica między ramą a zestawem narzędzi?http://blog.orderharmony.com/2011/07/libraries-vs-frameworks.htmlhttp://www.javacodegeeks.com/2012/04/frameworks-vs-libraries-as-inheritance.htmlRóżnica między biblioteką, platformą i frameworkiem?Jaka jest różnica między platformą a ramą?jaka jest różnica między ramą a platformąRóżnica między modułem, biblioteką i frameworkiem

ale każdy z tych zasobów definiuje je we własnym celu i nadal nie mogę odróżnić na przykład modułu od komponentu w ogólnym przypadku.

Proszę wyjaśnić, co oznacza te terminy w dużym obrazie (może to być pojedyncza klasa platformy, jaka ilość modułów jest wymagana do utworzenia kontenera itp.).

AKTUALIZACJA 2019 Zhttps://www.artima.com/lejava/articles/reuse3.html (moje wyróżnienie)

Bill Venners: Jaka jest różnica między ramą, platformą i zestawem narzędzi i jakie są różne potrzeby w zakresie elastyczności?

Erich Gamma: ZPlatforma Kojarzy mi sięStabilność długoterminowa. Można bezpiecznie zbudować na platformie. Platforma sprawiazgodność gwarancje. Struktury często nie mają tej jakości i widziałemwiele ram awarie w odniesieniu dostabilność. Jeśli spojrzysz na Eclipse, tak, zawiera on frameworki, zestawy narzędzi i udostępnia API platform. Wszystko to jest dołączane jako wtyczki.Szkielety abstrakcyjne i zapewniają wyższą funkcjonalność domyślną. Aby to zrobićramy muszą być pod kontrolą. Ta utrata kontroli może prowadzić do tzw. Zapalenia ram.

Bill Venners: A zestawy narzędzi nie, ponieważ ...

Erich Gamma: Zzestawy narzędzi tytworzyć i wywoływać obiekty narzędziowe i rejestrować słuchaczy, aby reagować na zdarzenia. Jesteśkontrolowany. Ramy starają się kontrolować i powiedzieć, kiedy robić. ZAzestaw narzędzi daje cicegiełki ale pozostawia ci kontrolę.

Kolejny cytat odpowiada na moje naiwne pytanie, ile klas tworzy coś, co stanowi ramy:

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

Erich Gamma: ... JUnit to na przykład mała struktura. Jest to „Hello, world” ram. Ty maszTest, TestCase, TestSuite i relacje zdefiniowane. Ponadto dołączasz do frameworków, gdzieś podklasujesz. Używają tak zwanej hollywoodzkiej zasady „nie dzwoń do nas, zadzwonimy do ciebie”. Ramy umożliwiają zdefiniowanie niestandardowych zachowań i oddzwoni, gdy nadejdzie Twoja kolej, aby coś zrobić. To samo z JUnit, prawda? Wraca do Ciebie, gdy chce wykonać test dla Ciebie, ale reszta jest wykonywana w ramach.

questionAnswers(2)

yourAnswerToTheQuestion