Объект, сущности, документы, модели и т. Д. - PullRequest
0 голосов
/ 21 июля 2010

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

  • POCO
  • Entity
  • Модель
  • Доменный объект
  • Активная запись

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

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

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

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

1 Ответ

1 голос
/ 21 июля 2010

Вот мой дубль:

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