Класс vs package vs module vs component vs container vs service vs platform в мире Java
Я новичок в мире Java (7 лет низкого уровня C).
Когда я начал читать сайты, связанные с Java:
Я смутился существующей терминологией:
- класса
- пакет
- Модуль
- компонент
- контейнер
- услуги
- рамки
- платформа
Я нашел много ресурсов об определении терминов (и многое другое):
но каждый из этих ресурсов определяет их по своей собственной цели, и я все еще не могу отличить, например, модуль от компонента в общем случае.
Пожалуйста, объясните, что означает эти условия в большой картине (может быть одноклассная платформа, какое количество модулей требуется для создания контейнера и т.д.).
Ответы
Ответ 1
class
Класс - это проект создания объектов в объектно-ориентированном программировании на основе классов; вы должны изучить основы ООП и понять, что такое объект, что такое класс, что такое наследование, полиморфизм, инкапсуляция, прежде чем изучать что-либо еще о Java.
package
Пакет - это пространство имен; это позволяет вам обрабатывать конфликты имен. Это в основном позволяет вам иметь два класса с именем Employee, если они находятся в разных пакетах.
module
Вероятно, это относится к способу распространения и использования библиотек Java - JAR, WAR, EAR.
component
Может рассматриваться как базовый класс GUI в AWT (или JComponent в Swing) или может рассматриваться как тип EJB - POJO (простой старый Java-объект), который удовлетворяет некоторым требованиям; возможно иметь другие значения и зависит от контекста.
container
В корпоративном приложении вы, очевидно, используете некоторые библиотеки и Java EE; дело в библиотеке Java EE заключается в том, что она предоставляет интерфейс API, а не реализацию. Затем приложение, которое вы написали и создали, развертывается на сервере container
, который поставляется с реализацией API Java EE. Существует два типа контейнеров: веб-контейнеры (только для реализации веб-технологий) и полные контейнеры Java EE (поставляется с внедрением веб-технологий и других технологий Java EE - услуги именования, настойчивость, транзакции и т.д.).
service
В Java нет особого значения. Это может быть связано с веб-службами, которые в основном обеспечивают высокоуровневый подход к Inter Process Communication по сети.
platform
В Java нет особого значения; его можно рассматривать как базовую платформу разработки (Windows, Linux) или облачную тенденцию, которая может относиться к платформе как услуге, где облачный провайдер поставляется с инфраструктурой и другим базовым программным обеспечением (ОС, база данных, контейнер).
Ответ 2
-
Класс:
это обычный java файл, который имеет расширение .java и содержит весь объект, метод или т.д., которые необходимы для создания приложения, а также реализует или расширяет другие объекты или методы из другого файла.
-
Упаковка:
Это куча файла класса (.java), который разделен их функцией или их именем. так что это также помогает для именования.
-
Модуль:
Большие приложения обычно строятся в нескольких частях, которые более плотно связаны друг с другом, чем снаружи. Поэтому хотелось бы предоставить этим частям больше доступа друг к другу, чем внешний мир. Также возможно, что эти части повторно используются во многих точках системы, не беспокоясь о синхронизации общих данных. эта часть называется модулем в java.
WAR, jar и т.д. Называются модулями на языке Java.
-
компонент:
Компонент является идентифицируемой частью более крупной программы или конструкции. Обычно компонент предоставляет определенную функцию или группу связанных функций.
В объектно-ориентированном программировании и технологии распределенных объектов компонент является многократно используемым блоком создания программ, который может быть объединен с другими компонентами на тех же или других компьютерах в распределенной сети для формирования приложения.
Компонент работает в контексте, называемом контейнером.
-
Контейнер:
Компонент работает в контексте, называемом контейнером. Контейнер является важным компонентом веб-приложений в Java-технологии Java EE. Он отвечает за поддержание отдельных компонентов на стороне сервера, включая сервлеты Java, страницы сервера Java (JSP) и лица сервера Java (JSF). Как предоставление услуг и доступ к ним определяется контрактом, который является соглашением между веб-приложением и контейнером. Это обеспечивает значительную степень безопасности в инфраструктуре Java EE, потому что клиентские приложения не знают о существовании контейнера, и поэтому к нему невозможно получить доступ напрямую. Таким образом, веб-контейнер отвечает за инициализацию компонентов веб-приложения и вызов клиентских запросов на компоненты.
-
Услуги:
Сервис - это эволюция распределенных вычислений на основе парадигмы дизайна запроса/ответа для синхронных и асинхронных приложений. Бизнес-логика приложения или отдельные функции являются модульными и представлены как услуги для потребительских/клиентских приложений.
-
Структура:
Frameworks накладывают определенную структуру на код, который их использует, в то время как библиотеки нет. В программном обеспечении в рамке установлено многоразовое программное обеспечение, которое составляет основу для приложения. Frameworks помогает программистам быстро создавать приложение. Раньше было очень сложно разрабатывать сложные веб-приложения. Теперь очень легко разработать такое приложение с использованием различных типов фреймворков, таких как Struts, Struts 2, Hibernate, JSF, Spring и т.д.
-
Платформа:
Платформа относится ко всей Java-среде разработки и исполнения от Sun. Программы Java выполняются механизмом выполнения (виртуальной машиной Java), который находится на целевом компьютере. Поскольку Java содержит свою собственную операционную среду, она была названа "платформой" в отличие от других языков программирования, которые после компиляции выполняются сами по себе. См. Java, Java 2, Java Virtual Machine и Java Runtime Environment.