Итак, я смотрел на https://github.com/xamarin/Sport как пример, который я натолкнулся на то, что придумал что-то для моего текущего проекта. Это похоже на то, на что я работаю, потому что я использую лазурный бэкэнд.MVVM Xamarin Forms Design
У меня вопрос о их расположении mvvm. Я думал, что в mvvm модели были своего рода POCOs и не предполагали реализовать INotifyPropertyChanged. Арент они действуют как модель и ViewModel в этом случае? Посмотрите на модель Athlete и AthleteViewModel. У VM есть свойство для Athlete, и поэтому модель также используется как виртуальная машина.
В моем проекте, если бы у меня были те же типы, у меня была бы модель Athlete, AthleteViewModel и AthletePageViewModel. Если спортсмен и спортсменVM будут автоматически удалены. Единственной причиной для заполнения и создания спортсмена является сохранение его в службе или локальном хранилище.
Является ли один способ более «правильным», чем другим? Или я просто делаю это неправильно и усложняю? Я почти не хочу продолжать то, как я это делаю, потому что я не хочу иметь кучу «лишних» файлов моделей, если я могу просто использовать некоторые из моих виртуальных машин в качестве моделей.
Спасибо.
Ничего себе, спасибо за самый полный ответ. Я ценю это. Чего я боялся, когда я продолжал свой проект, бегало в сторону понижения для метода 2. Поначалу казалось, что мой код становится грязным и трудно контролировать. Прежде чем я продолжил, я хотел посмотреть, смогу ли я переработать его в нечто более простое. Когда я наткнулся на образец xamarin, я подумал, что их код выглядит очень чистым и легким для подражания. Итак, странным образом Im склоняется к рефакторингу больше к методу 1 подхода, но не к лени. – jmichas
Согласен, метод 2 довольно пуристский подход, тогда как метод 1 проще управлять. Вы найдете свой собственный стиль и предпочтения, когда будете продолжать. Удачи! –