Объект, сущности, документы, модели и т. Д.

Я видел, как эти термины взаимозаменяемо используются в Интернете для объектов (.Net). Может ли кто-нибудь объяснить разницу между ними.

  • ПОКО
  • сущность
  • модель
  • Домен Объект
  • Активная запись

Являются ли сущности и POCO одинаковыми / похожими?

Обычно я считаю объектами модели частью уровня пользовательского интерфейса архитектуры N-уровня, это правильно?

Есть ли другие "имена" для таких объектов?

Это очень широкие вопросы, которые я понимаю, но я знаю, что это широкая тема!

1 ответ

Решение

Вот мое мнение:

  1. POCO - Простой Старый Объект C#, следует после POJO Мартина Фаулера для Простого Старого Объекта Java. Это была реакция на EJB 2.0, для которой требовалось два интерфейса и расширение класса просто для выражения EJB-объекта. Идея POJO/POCO подчеркивает создание доменных объектов как экземпляров классов, не требующих тяжелого механизма фреймворка.
  2. Entity - это синоним для постоянного объекта для меня. Спецификация Java Enterprise Java Bean разделяет мир на сущности, сеансы без сохранения состояния, сеансы с сохранением состояния и компоненты, управляемые сообщениями. Сессионные компоненты похожи на сервисы - функциональные объекты, которые реализуют полезную бизнес-логику. Управляемые сообщениями компоненты связаны с очередями и выполняют асинхронную логику.
  3. Модель - объединение всех ваших доменных объектов; могут быть или не быть POCO / POJO.
  4. Доменный объект - это абстрактная идея для объекта, которая описывает бизнес-проблему, которую вы пытаетесь решить. См. Эрик Эванс "Домен-управляемый дизайн".
  5. Активная запись - еще один термин Мартина Фаулера из PEAA; это оболочка для строки базы данных, которая добавляет логику.
Другие вопросы по тегам