Class vs package vs module vs component vs container vs service vs platform в мире Java [закрыто]

Я новичок в Java world (7 лет низкого уровня plain C).

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

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

  • класс
  • пакета
  • модуль
  • компонент
  • контейнер
  • сервис
  • рамки
  • платформа

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

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

пожалуйста, объясните, что означает эти термины в большой картине (может быть платформа одного класса a, какое количество модулей требуется для создания контейнера и т. д.).

2 ответов


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. Это может быть связано с веб-службами, которые в основном обеспечивают высокоуровневый подход Межпроцессной связи по сети.

platform в Java нет особого значения; его можно рассматривать как базовую платформу разработки (Windows, Linux) или с тенденцией облака он может относиться к платформе как службе, где облачный провайдер поставляется с инфраструктурой и другим базовым программным обеспечением (ОС, база данных, контейнер).


  • класс:
    это нормальный файл java, который имеет .расширение java и содержит все объект, метод или и т.д., которые необходимы для создания приложения, а также реализует или расширяет другой объект или метод из другого файла.

  • : Это куча класса(.java) файл, который отделен их функцией или их именем. так что это также помогает для именования.

  • модуль: Большой применения типично построены в нескольких частей, которые более плотно соединены друг к другу чем к снаружи. Поэтому хотелось бы дать этим частям больше доступа друг к другу, чем имеет внешний мир. Можно также захотеть, чтобы эти части повторно использовались во многих точках системы, не беспокоясь о синхронизации общих данных. эта часть называется модулем в java. Война, jar и т. д. называются модулем на языке java.

  • компоненты: Ля компонент является идентифицируемой частью более крупной программы или конструкции. Обычно компонент предоставляет определенную функцию или группу связанных функций. В объектно-ориентированном программировании и технологии распределенных объектов компонент представляет собой многоразовый программный строительный блок, который может быть объединен с другими компонентами на том же или других компьютерах в распределенной сети для формирования приложения. Компонент выполняется в контексте, называемом контейнер.

  • контейнер: Компонент выполняется в контексте, называемом контейнером.Контейнер является важным компонентом веб-приложений в Java-технологии Java EE. Он отвечает за обслуживание отдельных компонентов на стороне сервера, которые включают сервлеты Java, Java server pages(JSP) и Java server faces(JSF). Как будут предоставляться услуги и доступ к ним определяется договором, который является соглашением между веб-сайтом применение и контейнер. Это обеспечивает значительную степень безопасности в Java EE framework, поскольку клиентские приложения не знают о существовании контейнера и поэтому к нему нельзя получить прямой доступ. Таким образом, веб-контейнер отвечает за инициализацию компонентов веб-приложения и вызов клиентских запросов на компоненты.

  • сервис: Сервис-это эволюция распределенных вычислений на основе дизайна запроса / ответа парадигма для синхронных и асинхронных приложений. Бизнес-логики приложения или отдельные функции modularized и представлены в качестве сервисов для приложений потребителя/клиента.

  • основа: Фреймворки накладывают определенную структуру на код, который их использует, а библиотеки-нет. В программном обеспечении framework-это набор программ многоразового использования, который образует основу для приложения. Фреймворки помогают программистам создавать приложения быстро. Раньше было очень сложно разрабатывать сложные веб-приложения. Теперь его очень легко разработать такое приложение, используя различные типы фреймворков, таких как Struts, Struts 2, Hibernate, JSF, Spring и т. д.

  • : Платформа относится ко всей среде разработки и выполнения Java от Sun. Программы Java выполняются механизмом выполнения (виртуальной машиной Java), который находится на целевом компьютере. Поскольку Java содержит собственную операционную среда, она была названа "платформой" в отличие от других языков программирования, которые, после компиляции, работают сами по себе. См. Java, Java 2, виртуальная машина Java и среда выполнения Java.