Разница между моделью, javabean и POJO

Я начал изучать MVC с весны. Я слышал много времени Bean, который содержит сеттер и геттер. Model в основном то, что потоки данных, и Pojo что же Bean. Но я действительно запутался во всем этом термине, и все это выглядит одинаково для меня, пожалуйста, объясните точную разницу между всеми ними.

JAVABEAN

POJO-класс

модель

3 ответов


Если вы используете архитектуру MVC, то модель представляет ваш домен: означает ваши сущности, и это не термин, связанный с java.
Ваши модели представлены в Java как Java Beans (лучшая практика в Java EE).
Java Bean-это обычный класс Java, который реализует сериализуемый интерфейс и имеет конструктор без параметров и имеет геттеры и сеттеры для каждого поля.

однако POJO - это просто деноминация для объектов, не связанных никакими ограничениями чем те, которые вынуждены спецификацией языка Java (Wikipeadia). Это просто ради конвенций, и это не связано строго с архитектурой MVC.
Обратите внимание, что Java beans-это POJOs, реализующие сериализуемый интерфейс.


разница только в том, что bean может быть сериализован.

из Java docs -http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html

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

в то время как модель-это другая вещь, которая имеет дело с вашей бизнес-логикой.

вы можете ссылаться ниже ссылки

разница программирования между POJO и Bean


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

от wiki,

термин "POJO" первоначально обозначал объект Java, который не следует любая из основных объектных моделей Java, конвенций или фреймворков

В идеале говоря, POJO-это объект Java, не связанный никакими ограничениями, кроме тех, которые принудительно заданы спецификацией языка Java

Как правило, POJO не зависит от какой-либо библиотеки, интерфейса или аннотации. Поэтому POJO, скорее всего, будет повторно использоваться другой системой.

Итак, что такое Java Bean и почему мы создаем этот пункт?
Описание из этой ссылке уточнил, что это достаточно ясно, я думаю.

JavaBeans-это классы, которые инкапсулируют много объектов в один объект (Боб). Они сериализуемы, имеют нулевой аргумент конструктор, и разрешить доступ к свойствам использование геттера и сеттера методы.

Почему мы хотим, чтобы jave beans вел себя так?

  • класс должен иметь открытый конструктор по умолчанию (без аргументов).

Это позволяет легко создавать экземпляры в процессе редактирования и активации интегрированные системы.

  • свойства класса должны быть доступны с помощью get, set, is (может использоваться для булевых свойств вместо get), to и других методов (так называемые методы доступа и методы мутатора) в соответствии со стандартным соглашением об именах.

Это позволяет легко автоматизировать проверку и обновление состояния бобов в рамках, многие из которых включают пользовательские редакторы для различных вид собственности. Сеттеры могут иметь один или несколько аргументов.

  • класс должен быть сериализуемым.

Это позволяет приложениям и рамки надежную Сохранить, Сохранить и восстановление состояния компонента способом, независимым от виртуальной машины и платформа.

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

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

Как вы можете видеть, POJO или JavaBean могут быть на уровне модели в шаблоне MVC, но слой модели, но в слое модели гораздо больше материала, например, логика и правила приложения.