Class vs package vs module vs component vs container vs service vs platform в мире Java [закрыто]
Я новичок в Java world (7 лет низкого уровня plain C).
когда я начал читать сайты, связанные с Java:
- http://wiki.apidesign.org/wiki/Main_Page
- http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/
Я смущен существующим терминология:
- класс
- пакета
- модуль
- компонент
- контейнер
- сервис
- рамки
- платформа
Я нашел много ресурсов об определении терминов (и намного больше):
- рамки против инструментария против библиотеки
- разница между рамками и контейнером?
- что контейнеры в Java
- определение контейнера Java
- http://martinfowler.com/articles/injection.html (инверсия контейнеров управления и шаблон инъекции зависимостей)
- http://www.cafeaulait.org/course/week8/36.html (Что такое AWT Контейнер?)
- http://en.wikipedia.org/wiki/Web_container
- http://netbeans.org/features/platform/ (Платформа NetBeans)
- что означает "рамки приложений"?
- что такое программный фреймворк?
- в чем разница между фреймворком и библиотекой?
- в чем разница между библиотекой классов и рамки
- в чем разница между фреймворком JavaScript и библиотекой?
- в чем основное различие между фреймворком и инструментарием?
- http://blog.orderharmony.com/2011/07/libraries-vs-frameworks.html
- http://www.javacodegeeks.com/2012/04/frameworks-vs-libraries-as-inheritance.html
но каждый из этих ресурсов определяют их на его собственная цель, и я до сих пор не могу отличить, например, модуль от компонента в общем случае.
пожалуйста, объясните, что означает эти термины в большой картине (может быть платформа одного класса 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.