Класс против пакета против модуля против компонента против контейнера против сервиса против платформы в мире 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 - это, например, небольшой фреймворк. Это "Привет, мир" рамок. У тебя есть , ,Test
TestCase
TestSuite
и отношения определены. Кроме того, вы подключаетесь к фреймворкам, создавая подклассы. Они используют так называемый голливудский принцип "дон»не звоните нам, мыя тебе позвоню. Фреймворк позволяет вам определить ваше собственное поведение и перезвонит вам, когдаВаша очередь что-то делать. То же самое с JUnit, верно? Он перезванивает, когда хочет выполнить тест для вас, но все остальное делается в рамках.