powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC,MVVM: одна сущность, разные виды - одна модель?
25 сообщений из 122, страница 1 из 5
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37670688
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартная ситуация:
имеем вид отображающий таблицу. При двойном клике по строке или по клику на кнопке открывается вид для просмотра/редактирования записи.

Встает вопрос для отображения таблицы должны ли выбираться полные модели (хотя, как правило, в таблицах отображается лишь малая часть полей модели) или это должна быть "усеченная" модель а в виде просмотра/редактирования записи должна грузится полная модель!?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37670797
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При редактировании грузится как правило только один элемент полученной модели. Смысл создавать для этого другую модель? Хотя здесь все свободно, сколько хочешь и как хочешь нагенеришь моделей - главное потом сам не запутайся.
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37670801
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/920053
/topic/917344
/topic/890798

sp, не в обиду. Не хотите убить себя об стену?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37670838
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Хотел бы :) но уже поздно! :)
Пусть на моих вопросах другие поймут :)

А по сути - тащить в таблицу полномасштабные модели смысла нет, если они используются в основном для просмотра лишь части полей, но а как же тогда с моделью? Она же не может быть кастрированной? или таки может?
я понимаю - вы сейчас опять скажете про ВьюМодель - дескать с ней можно вытворять все что хочешь!
Но тогда плохо получается - имеем в базе сущность олицетворенную класической моделью - для этой модели создали все хранимки для полного ее жизненного цикла
Теперь под каждый чих еще нужно создавать кучу разных вариаций оригинальной модели (пусть это будут ВьюМодели) и писать под них кучу кода на стороне сервера и клиента?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37670852
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLoverПри редактировании грузится как правило только один элемент полученной модели. Смысл создавать для этого другую модель? Хотя здесь все свободно, сколько хочешь и как хочешь нагенеришь моделей - главное потом сам не запутайся.

Вы генерите 2 разные модели для таблицы и для формы?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37670868
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Вам все понятно и кажется естественным, и я понимаю что у вас вызывают и непонимание и раздражение такие вопросы - но эти вопросы
1е - нигде не освещаются (прочитал уже 4 книги)
2е - возникают у всех кто начинает изучать данные шаблоны
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37670880
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

В своем ответе мне вы писали:

авторЭто:
Общий репозиторий DbRepository (+ сущность БД: Person)
Контроллер PersonController
3 представления - Index.aspx (список), Details.aspx (карточка), Edit.aspx (создание, изменение)
1 модель PersonView

Вы предлагаете 1 PersonView
Но я тогда повторю вопрос - зачем в таблицу тащить полные записи (к примеру из 20 полей) если в таблице будут отображаться всего 3 поля??
Это и непроизводительные расходы на сетевой трафик и нагрузка как на сервер так и на клиента
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37670953
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spМСУ,

В своем ответе мне вы писали:

авторЭто:
Общий репозиторий DbRepository (+ сущность БД: Person)
Контроллер PersonController
3 представления - Index.aspx (список), Details.aspx (карточка), Edit.aspx (создание, изменение)
1 модель PersonView

Вы предлагаете 1 PersonView
Но я тогда повторю вопрос - зачем в таблицу тащить полные записи (к примеру из 20 полей) если в таблице будут отображаться всего 3 поля??
Это и непроизводительные расходы на сетевой трафик и нагрузка как на сервер так и на клиента

Какие расходы, батя?

У нас есть модель (Person) и вьюмодель (PersonView). Из DbRepository дернули только те поля Person, которые нужны. Получили не полностью инициализированный Person. Отлично. Потом автомаппером сливаемся в PersonView и скармливаем представлению. Всё.

Долго будете насиловать форум, чародей MVC паттерна мля?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671043
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Пока не растворюсь в нём полностью!!! :)
А чего раньше то так кратко и понятно не отвечали???
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671084
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

И вот в этом месте у меня возник большой вопрос:
авторThe DomainModel represents the domain, while the ViewModel is designed around the needs of the View, and these two worlds might be (and usually are) different. Furthermore the DomainModel is data plus behaviours, is hierarchical and is made of complex types, while the ViewModel is just a DTO, flat, and made of strings .

а кто же данные и как грузить должен в эту вьюмодель, ежели она(или оно) - это есть просто DTO и вся такая сделанная из строк!?
т.е. у нее нет ни строчки кода - она недееспособная!!
Значит у нее справка и за нее должен нести ответственность опекун - так хто тут тот опекун!???
(я задаю вопрос в контексте клиентского фреймворка, когда за данными будем ходить с помощью AJAX)
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671128
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
public static class PersonExtensions
{
    public static PersonView ToView( this Person person )
    {
        return new PersonView { Name = person.Name; }
    }
}

Расширение существует только в контексте Вашего клиентского фреймворка :)
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671155
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

В вашем случае подразумевается получения полных данных модели Person, а затем отбор у нее только необходимых данных для МодельВью.
На стороне сервера - это вообще не проблема, а вот ежели я этот ВьюМодель на стороне клиента создаю - получается мне надо для таблицы опять же, к примеру, вытащить 50 строк полных моделей Person и у них взять необходимые поля для ВьюМодели!?
так тогда уж почему не использовать просто модель Person!?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671156
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

но опять же - тащить на клиента 50 полных моделей Person для того чтобы у них взять 3 поля во ВьюМодель - некошерно!)
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671157
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Верно, extensions хороший вариант. Либо можно прямо в контроллере маппинг делать. Маппить можно ручками или автомапперами.
Но, extensions не всегда подойдет, ибо часто ViewModel может собираться из разных моделей (доменных или иных). Поэтому грамотнее делать полноценую фабрику.
Но лично я прямо в контроллере маплюсь, ведь только он отвечает за передачу ViewModel представлению.

spА чего раньше то так кратко и понятно не отвечали???
Я нормально отвечал, это Вы путались, как игла в стоге сена. То про MS CRM мне лапшу плели, то какие-то песни свистопляски исполняли. Метались, как самоужаленная пчела в пчельне.
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671161
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spskyANA, но опять же - тащить на клиента 50 полных моделей Person для того чтобы у них взять 3 поля во ВьюМодель - некошерно!)
Опять тупим? Я же сказал - тащить нужно столько, сколько нужно. А в этом коде тупо маппинг. Разницу улавливаем?
Вот как с Вами можно серьезно говорить? Сплошной идиотизм. Сто раз ему объясняешь, он соглашается, на сто первый - снова головй ап стену
Ппц...
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671164
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[DataContract]
public class PersonJsonModel
{
    [DataMember(Name = "name")]
    public string Name { get; set; }
}

public static class PersonExtensions
{
    public static PersonJsonModel ToJsonModel( this Person person )
    {
        return new PersonJsonModel { Name = person.Name; }
    }
}

Так понятнее что такое "ViewModel is just a DTO, flat, and made of strings"?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671166
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

но ведь я ж не специально!
Это у вас уже все устаканилось, улеглось и все тихо и спокойно в голове! :)
А неокрепший ум начинающего MVCшника - он же как на расстреле - ищет за что уцепиться знакомое, понятное, начинает бежать то туда, то сюда... в общем - не виноватая я!

а мне как поступать?
на клиенте же нет экстеншенов! кто ответит за загрузку ВьюМодели?? или ежели она то и не модель вовсе - за загрузку просто данных? к кому обращаться за данными?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671168
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp,

поясню - у меня клиентский JS-фреймвор а не ASP.NET - поэтому тут вопрос концептуальный!!!
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671171
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А суффикс Json на мысли не наталкивает? :) У меня вот как раз таки тоже клиентский JavaScript-фреймворк
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671172
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

простите, что сразу вас не посвятил - дискуссия у нас тут уже год длиться - а начало было в том году и там я писал, что у меня клиентский JS-фреймворк - поэтому техника ASP.NET не применима - тут скорее вопрос не в конкретной реализации, а в концеппции - кто за что отвечает, кто проверяет и кто занимается доставкой
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671178
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА суффикс Json на мысли не наталкивает? :) У меня вот как раз таки тоже клиентский JavaScript-фреймворк

как раз ни накакие мысли и не наводит - мало ли букв на заборе! :)
кто эти данные и как забирает!?
с моделью понятно - ей сказал - она знает что, откуда и как забирать, а кто за ВьюМодель все это должен делать?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671179
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как делаю я:
- посредством Ajax запрашиваю сервер (метод контроллера);
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671182
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКак делаю я:
- посредством Ajax запрашиваю сервер (метод контроллера);

т.е. у вас получается в контроллере жестко прописан адрес и параметры этой ВьюМодели и для каждого такого случая нужно все делать снова вручную и каждый раз по-новому!?
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671183
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чёрт, нажал Ctrl + Enter. Продолжаю:
- в контроллере получаю доменный объект, к примеру Person;
- преобразую во ViewModel: в нашем примере это PersonJsonModel;
- сериализую в Json (для класса из примера посредством DataContractJsonSerializer);
...
Рейтинг: 0 / 0
MVC,MVVM: одна сущность, разные виды - одна модель?
    #37671187
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spт.е. у вас получается в контроллере жестко прописан адрес и параметры этой ВьюМодели и для каждого такого случая нужно все делать снова вручную и каждый раз по-новому!?
Не понял, какой адрес, какие параметры ViewModel в контроллере?
...
Рейтинг: 0 / 0
25 сообщений из 122, страница 1 из 5
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC,MVVM: одна сущность, разные виды - одна модель?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]