ViewModel имеет свою собственную логику?

При присвоении полей ViewModel объекты области должны быть переданы непосредственно объектам ViewModel, которые затем определят, как представить данные, или другому классу должен понравиться сервис присвоить данные от Модели до ViewModel?

также:

Править: есть ли какой-либо смысл в делении viewmodel в получатель и предъявителя? (вместо того, чтобы связать только определенные поля на обновлении?)

6
задан zsharp 29 January 2010 в 02:59
поделиться

3 ответа

В моем опыте я использовал услуги для сопоставления модели в ViewModel. Я не кладу логику на мои просмотра модер.

Кроме того, он, вероятно, стоит ваше время, чтобы проверить Automatper , чтобы помочь вам с отображением. Определенно помогает сократить писать повторяющиеся картографические логики.

-121--4223013-

Обычно действие контроллера принимает бизнес-объекты и ставит все, что требуется по ViewModel.

Если у вас есть бизнес-объект, который содержит имя поля, адрес, идентификатор и представление, следует отображать только имя, то просмотра имеет только поле «Имя», и действие контроллера наполняется его. ViewModel не должен ничего знать о ваших бизнес-классах, он должен знать только о том, что он должен отображать.

Главная / единственная логика тогда «Logic Display», то есть вроде «Если тотака NotaMount отрицательно, отображать его с помощью CSS Class Negativerumber».

6
ответ дан 8 December 2019 в 18:36
поделиться

Для SOC, если эта логика относится к просмотру, они безопасно быть в ViewModel или даже в поле зрения, но если они относятся к бизнесу или программе, помещают их на модель и контроллер соответственно.

4
ответ дан 8 December 2019 в 18:36
поделиться

Получаете ли вы какие-либо обратные вызовы от NSFetingResultsController? Если нет, это может быть ошибка с самим NSFetingResultsController. Я бы рекомендовал создать тестовый проект, который может подтвердить/опровергнуть эту проблему изолированно.

Если вы можете дублировать его изолированно;

  1. Я бы с удовольствием посмотрел:)
  2. Подайте радар в Apple.

После просмотра кода ответ состоит в том, чтобы изменить наблюдателя уведомления с NSManagedObjectContextWillStartNotification на NSManagedObjectContextDidStartNotification . Сообщение было отправлено только до сохранения, вызвавшего неполадки.

-121--4746401-

Pingback и Trackback используют различные протоколы. Pingback - автоматический, Trackback - ручной. Данные о разнице можно просмотреть в Geeklog .

-121--2839658-

В своем опыте я использовал службы для сопоставления модели с ViewModel. Я не вкладываю логику в свои ViewModels.

В качестве отступления, вероятно, стоит взять на изменение AutoMapper , чтобы помочь с отображением. Определенно помогает сократить написание повторяющейся логики отображения.

3
ответ дан 8 December 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: