Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC,MVVM: одна сущность, разные виды - одна модель? / 25 сообщений из 122, страница 1 из 5
20.02.2012, 16:29:08
    #37670688
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC,MVVM: одна сущность, разные виды - одна модель?
Стандартная ситуация:
имеем вид отображающий таблицу. При двойном клике по строке или по клику на кнопке открывается вид для просмотра/редактирования записи.

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

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

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

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

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

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

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

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

Вы предлагаете 1 PersonView
Но я тогда повторю вопрос - зачем в таблицу тащить полные записи (к примеру из 20 полей) если в таблице будут отображаться всего 3 поля??
Это и непроизводительные расходы на сетевой трафик и нагрузка как на сервер так и на клиента
...
Рейтинг: 0 / 0
20.02.2012, 18:06:57
    #37670953
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC,MVVM: одна сущность, разные виды - одна модель?
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
20.02.2012, 18:45:48
    #37671043
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC,MVVM: одна сущность, разные виды - одна модель?
МСУ,

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

И вот в этом месте у меня возник большой вопрос:
автор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
20.02.2012, 19:30:26
    #37671128
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC,MVVM: одна сущность, разные виды - одна модель?
К примеру так:
Код: 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
20.02.2012, 19:55:26
    #37671155
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC,MVVM: одна сущность, разные виды - одна модель?
skyANA,

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

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

spА чего раньше то так кратко и понятно не отвечали???
Я нормально отвечал, это Вы путались, как игла в стоге сена. То про MS CRM мне лапшу плели, то какие-то песни свистопляски исполняли. Метались, как самоужаленная пчела в пчельне.
...
Рейтинг: 0 / 0
20.02.2012, 20:05:05
    #37671161
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC,MVVM: одна сущность, разные виды - одна модель?
spskyANA, но опять же - тащить на клиента 50 полных моделей Person для того чтобы у них взять 3 поля во ВьюМодель - некошерно!)
Опять тупим? Я же сказал - тащить нужно столько, сколько нужно. А в этом коде тупо маппинг. Разницу улавливаем?
Вот как с Вами можно серьезно говорить? Сплошной идиотизм. Сто раз ему объясняешь, он соглашается, на сто первый - снова головй ап стену
Ппц...
...
Рейтинг: 0 / 0
20.02.2012, 20:06:02
    #37671164
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC,MVVM: одна сущность, разные виды - одна модель?
Код: 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
20.02.2012, 20:09:34
    #37671166
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MVC,MVVM: одна сущность, разные виды - одна модель?
МСУ,

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

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

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

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

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

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


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