разные модели в MVVM - PullRequest
       5

разные модели в MVVM

0 голосов
/ 29 июля 2011

Я работаю с Linq для sql, который предоставляет мне базовый класс, такой как Car .Таким образом, я получаю список автомобилей как IQueryable .

. Эти машины затем обрабатываются моей бизнес-логикой и становятся CarProcessed с двумя добавленными свойствами, так что у меня есть IList .

Этот IList вызывается моим приложением silverlight, и я должен использовать этот список в сетке и что-то делать с этой информацией, чтобы изменить цвет линии в соответствии стип машины.Поэтому я получу CarModel со свойством цвета, которое я смогу напрямую связать со своим видом.

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

Как вы думаете, это правильно?

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

Если свойство color используется только в целях презентации, вы обычно не делаете его частью модели, а определяете DataTemplate для элемента управления, с которым вы отображаете объекты CarProcessed.

В этом DataTemplate или в стиле DataTemplates вы определяете Trigger , который проверяет конкретное состояние вашего CarProcessed и устанавливает соответствующий цвет.

Вот часть учебника WPF, которая касается шаблонов данных: http://www.codeproject.com/KB/WPF/GuidedTourWPF_4.aspx

0 голосов
/ 29 июля 2011

Я думаю, это зависит.Если у вас есть сложные преобразования между моделями, они могут повлиять на производительность.В противном случае то, что вы делаете, является обычной практикой, учитывая, что для разных устройств и, кстати, для интерфейсов требуются разные модели презентаций, также бизнес-логика управляет объектами с определенными свойствами, а не с пользовательским интерфейсом или данными. Об этом должны знать ваши данные, и, наконец, ваши данные требуют определенного преобразования.сохраняться и загружаться, что может потребовать некоторых других.

Однако попробуйте найти общие шаблоны, такие как DAO и DTO , чтобы увидеть, не подходит ли вам другой.

Кроме того, помните, что мульти-модель презентация, если одно из преимуществ MVVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...