Класс против пакета против модуля против компонента против контейнера против сервиса против платформы в мире Java [закрыто]

Я новичок в мире Java (7 лет на низком уровне C).

Когда я начал читать сайты, связанные с Java:

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

Я смущен существующей терминологией:

учебный класспакетмодульсоставная частьконтейнероказание услугфреймворкПлатформа

Я нашел много ресурсов об определении терминов (и многое другое):

Фреймворк против Инструментария против БиблиотекиРазница между рамкой и контейнером?Каковы контейнеры в JavaОпределение контейнера Javahttp://martinfowler.com/articles/injection.html (Инверсия управляющих контейнеров и шаблон внедрения зависимостей)http://www.cafeaulait.org/course/week8/36.html (Что такое контейнер AWT?)http://en.wikipedia.org/wiki/Web_containerhttp://netbeans.org/features/platform/ (Платформа NetBeans)Что подразумевается подрамки приложения "?Что такое программный каркас?В чем разница между фреймворком и библиотекой?В чем разница между библиотекой классов и фреймворкомhttps://stackoverflow.com/questions/11576018/what-is-the-difference-between-a-javascript-framework-and-a-libraryВ чем основное различие между фреймворком и инструментарием?http://blog.orderharmony.com/2011/07/libraries-vs-frameworks.htmlhttp://www.javacodegeeks.com/2012/04/frameworks-vs-libraries-as-inheritance.htmlРазница между библиотекой, платформой и фреймворком?В чем разница между платформой и фреймворком?в чем разница между фреймворком и платформойРазница между модулем, библиотекой и фреймворком

но каждый из этих ресурсов определяет их для своих целей, и я все еще могунапример, отличить модуль от компонента в общем случае.

Объясните, пожалуйста, что означают эти термины в общих чертах (может быть один класс платформы, какое количество модулей требуется для создания контейнера и т. Д.).

ОБНОВЛЕНИЕ 2019 Отhttps://www.artima.com/lejava/articles/reuse3.html (мое выделение)

Билл Веннерс: В чем разница между фреймворком, платформой и инструментарием и каковы разные требования гибкости?

Эрих Гамма: СПлатформа Я ассоциируюдолгосрочная стабильность, Это безопасно строить на вершине платформы. Платформа делаетсовместимость гарантии. Каркасы часто не имеют такого качества, и я виделмного рамок неудачи в отношениистабильность, Если вы посмотрите на Eclipse, да, он включает в себя фреймворки, наборы инструментов и предоставляет API-интерфейсы платформы. Все это поставляется в виде плагинов.Фреймворки абстрагируются и обеспечивают более высокий уровень функциональности по умолчанию, Для этогорамки должны быть под контролем, Эта потеря контроля может привести к тому, что иногда называют каркалитом.

Билл Веннерс: И инструменты нет, потому что ...

Эрих Гамма: Синструментарии высоздавать и вызывать объекты инструментария и регистрировать слушателей для реагирования на события, Вы'рев контроле.Фреймворки пытаются контролировать и сообщать вам, когда что делать,Инструментарий дает вамстроительные блоки но вам остается управлять.

Другая цитата отвечает на мой наивный вопрос, сколько классов делает что-то каркасом:

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

Эрих Гамма: ... JUnit - это, например, небольшой фреймворк. Это "Привет, мир" рамок. У тебя есть , ,TestTestCaseTestSuite и отношения определены. Кроме того, вы подключаетесь к фреймворкам, создавая подклассы. Они используют так называемый голливудский принцип "дон»не звоните нам, мыя тебе позвоню. Фреймворк позволяет вам определить ваше собственное поведение и перезвонит вам, когдаВаша очередь что-то делать. То же самое с JUnit, верно? Он перезванивает, когда хочет выполнить тест для вас, но все остальное делается в рамках.

Ответы на вопрос(2)

Ваш ответ на вопрос