Каковы лучшие практики для объявления свойств в пользовательской модели представления - PullRequest
0 голосов
/ 12 июля 2010

В моем новом UserViewModel, который я создаю для своего приложения, у меня есть два варианта хранения свойств.

Первый вариант должен иметь

Public Property user As User              ''# Including the entire User object
Public Property custString as String      ''# Custom String for View

Второй вариант - фактически выписать все свойства пользователя

Public Property ID As Integer             ''# Declaring each object individually
Public Property UserName As String        ''# Here is another object found in User
Public Property RegistrationDate As Date  ''# Here is another object found in User
Public Property custStrin As String       ''# Custom String for View

Может кто-нибудь сказать мне, что лучший способ сделать это и почему?

В настоящее время у меня есть первый вариант, однако мне не нравится, как он выглядит в представлении по сравнению со вторым вариантом

Это выглядит красиво (ИМО)

<%: Model.UserName %> 

Это выглядит не так хорошо (IMO)

<%: Model.User.UserName %>

1 Ответ

1 голос
/ 13 июля 2010

Я не думаю, что в любом случае "лучше", это действительно зависит от самих объектов.

Если у объекта User есть свойства «только для получения», нет общедоступного конструктора по умолчанию или логики сложного состояния, он может быть неподходящим кандидатом для прямой установки привязкой модели по умолчанию. Обычно в подобных случаях вы «выписываете» некоторое подмножество User свойств как соответствующие свойства ViewModel, которые затем могут обрабатывать настройку базового объекта User. Этот сценарий не редкость.

Но если ваш User объект прост и его легко связать напрямую, то, безусловно, удобнее использовать его как часть вашей модели.

...