Я смущен, чтобы понять, в чем смысл этих слов:
Entity
, Model
, DataModel
, ViewModel
Может ли кто-нибудь помочь мне понять их? Спасибо всем.
Я смущен, чтобы понять, в чем смысл этих слов:
Entity
, Model
, DataModel
, ViewModel
Может ли кто-нибудь помочь мне понять их? Спасибо всем.
Надеюсь, я не пропустил вашу точку здесь king.net...
В любом случае, предполагая, что вы говорите о моделировании сущностей или моделировании сущностей (ERD):
Добавление связей между объектами создает "модель данных". Вы смоделировали систему реального мира и внутренние объекты/объекты в этой системе. Следующий шаг - нормализовать его, чтобы он соответствовал "нормальной форме".
В терминах ERD у вас могут быть "логические" и "физические" модели. Логическое описание модели данных в простых терминах высокого уровня, которая содержит технические детали, необходимые для ее реализации. Он представляет собой обзор системного решения. Физическая модель включает в себя технические данные, необходимые для фактического внедрения системы (например, "много ко многим таблицам соединений", необходимых для реализации отношений "многие ко многим" ).
Вот несколько обучающих программ в режиме онлайн (хотя я уверен, что там должны быть тысячи):
Я не совсем уверен, что вы подразумеваете под "моделью" и "моделью взгляда" в соответствующем контексте. Не уверен, что вы можете смутить это с помощью парадигмы Model-View-Controller (MVC). Здесь модель представляет собой некоторый компонент данных, и представление представляет собой наблюдателя этих данных (например, компонент таблицы или графика). Там много он-лайн объясняя "контроллер представления модели" или "MVC".
Надеюсь, что это поможет, Уэйн
Определение этих терминов довольно неоднозначно. Вы найдете разные определения в разных местах.
Сущность: Сущность представляет отдельный экземпляр объекта вашего домена, сохраненный в базе данных в виде записи. У него есть некоторые атрибуты, которые мы представляем в виде столбцов в наших таблицах.
Модель. Модель обычно представляет собой объект реального мира, связанный с проблемой или доменным пространством. В программировании мы создаем классы для представления объектов. Эти классы, известные как модели, имеют некоторые свойства и методы (определяющие поведение объектов).
ViewModel. Термин ViewModel происходит от шаблона проектирования MVVM (модель View ViewModel). Есть случаи, когда данные, которые будут отображаться представлением, поступают из двух разных объектов. В таких сценариях мы создаем класс модели, который состоит из всех свойств, требуемых представлением. Это не модель домена, а ViewModel, потому что конкретное представление использует его. Кроме того, он не представляет объект реального мира.
DataModel: чтобы решить проблему, объекты взаимодействуют друг с другом. Некоторые объекты разделяют отношения между ними и, следовательно, образуют модель данных, которая представляет объекты и отношения между ними.
Например, в приложении, управляющем заказами клиентов, если у нас есть клиент и объект заказа, эти объекты имеют много-многократные отношения между ними. Модель данных в конечном итоге зависит от того, как наши объекты взаимодействуют друг с другом. В базе данных мы видим модель данных как сеть таблиц, ссылающихся на некоторые другие таблицы.
Чтобы узнать больше об объектных отношениях, посетите мой пост в блоге: Основы объектных отношений
Для получения более подробной информации посетите мой пост в блоге: Entity vs Model vs ViewModel vs DataModel
Прежде всего, чтобы узнать об Entity, вы должны знать о классе. Все они представляют одинаковые поля, но терминологические изменения основаны на декларации.
Рассмотрим таблицу из любой базы данных [SQL, ORACLE, Informix, Cassandra..] в качестве примера.
CLASS:
Обычно таблица рассматривается как класс, пока не будет добавлена в edmx или dbmx.
//Student class
public class Student()
{
//Properties
public int StudentNumber;
public string StudentName;
}
ENTITY:
После перетаскивания/добавления таблицы в dbmx/edmx это называется Entity.
Каждая Сущность генерируется из соответствующего класса, и мы можем добавить атрибуты для объекта, которые используются для выполнения операций с использованием linq или entity.
DATAMODEL:
Содержит все поля в таблице.
DATAMODEL - ссылка прямого класса на ваш cshtml или контроллер где вы можете получить доступ к атрибутам для выполнения операций CRUD.
VIEWMODEL:
Пример: Предположим, что
//Student class
public class Student()
{
//Properties
public int StudentNumber;
public string StudentName;
}
//Marks Class
Public class Marks()
{
public int Maths;
public int Physics;
public int Chemistry;
//Now sometimes situations occur where we have to use one datamodel inside //other datamodel.
public Student StudentModel;
}
Сущность - это представление элемента реального мира в Object Relational Mapping (ORM) в качестве Entity Framework. Это представление будет сопоставлено с таблицей в базе данных, а ее атрибуты будут преобразованы в столбцы. Сущность пишется с использованием класса POCO, который является простым классом, как вы можете видеть в следующем примере на С#:
using System;
using System.Collections.Generic;
using System.Text;
namespace MyAplication.Entity
{
public class Person
{
public long PersonId { get; set; }
public string Name { get; set; }
public short Age { get; set; }
}
}
Работа с созданием пользовательского интерфейса - сложная задача. Чтобы все было организовано, программисты разделяют свои приложения на слои.
Каждый слой отвечает за задачу, и это предотвращает путаницу кода. Именно в этом сценарии появляются архитектурные шаблоны, такие как MVC и MVVM.
В MVC у нас есть слой, отвечающий за представление ранее сохраненных данных, данный может быть экземпляром человека, смоделированного в предыдущем примере. Этот слой является моделью. Этот шаблон будет использоваться для построения представления.
ViewModel в архитектуре MVVM очень похож на модель в архитектуре MVC. Однако ViewModel - это упрощенное представление данных, содержащее только ту информацию, которая требуется для построения представления.
using System;
using System.Collections.Generic;
using System.Text;
using MyAplication.Web.ViewModel.BaseViewModel;
namespace MyAplication.Web.ViewModel.Person
{
public class PersonNameViewModel : BaseViewModel<string>
{
//I just neet the name
public string Name { get; set; }
}
}
Это просто абстрактная модель (эта модель отличается от модели уровня MVC), которая устанавливает отношения, которые существуют между элементами, которые представляют сущности реального мира. Это очень всеобъемлющий предмет.