В веб-приложении MVC правильно думать о моделях как о “сущностях”?

StackOverflow https://stackoverflow.com/questions/2114228

  •  22-09-2019
  •  | 
  •  

Вопрос

У нас есть приложение ASP.NET MVC.Правильно ли думать о моделях как о "сущностях" в системе?

Предположительно, это сводится к "типу" модели (представления или домена) - и если они домен модели, значит, они эквивалентны сущностям?

Редактировать:Я задаю этот вопрос, чтобы определить, является ли введение номенклатуры "сущность" в наш проект полезным или сбивающим с толку.

Это было полезно?

Решение

Насколько я могу судить, у тебя все получилось.Ваше различие между моделями представления и предметной области правильное.Модель предметной области можно считать эквивалентной сущности.

Чтобы ответить на ваш второй вопрос, я не думаю, что необходимо вводить номенклатуру сущностей в ваш проект, но я не думаю, что это было бы слишком запутанно, если бы это было то, что вы хотели сделать.Обычно я переношу свои доменные модели в отдельный проект.Я использую папку stock Models для хранения своих моделей просмотра

[РЕДАКТИРОВАТЬ] Основываясь на приведенных ниже комментариях, я подумал, что хотел бы прояснить одну вещь.В частности, в контексте Entity Framework модель предметной области охватывает не только объекты вашей базы данных.Например, пользовательский тип, представляющий адрес (Адрес 1/2/3, Город, штат, почтовый индекс и т.д.), Также будет моделью предметной области, даже если ему не присвоено имя "Entity" в Entity Framework.

Другие советы

Перефразируя то, что Википедия По этому поводу следует сказать, что сущность — это объект в модели предметной области, который определяется не его атрибутами, а, скорее, нитью непрерывности и идентичности.

Насколько я понимаю, идентичность сущности и уникальность являются ее определяющими качествами.Никакие две сущности не могут иметь одинаковую идентичность.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top