Как описано в заголовке, я хочу создать приложение Xamarin Forms, которое связывается с веб-сервером. Конечно, на стороне клиента я использую шаблон MMVM
.Архитектура приложения Xamarin, общающегося с веб-сервером
Здесь мой вопрос: а как насчет связи с сервером? С моей точки зрения, сервер ничего не знает о конкретной клиентской технологии (INotifyPropertyChanged
, например), поэтому в этом слое мне еще нужно применить шаблон MVC
для связи, не так ли?
Что стоит мне спать на таком подходе является то, что мне нужно, чтобы преобразовать объекты необходимо 2 раза в каждом направлении: Entity <--> MVC-Model (Dto) <--> MVVM-ViewModel
Правильно ли я с моим предположением или полностью вне трассы?
Да. Я думаю, вы захотите, чтобы объект DTO обменивался данными между системами и преобразовывал их в свои собственные рамки. – kenny
DTO является частью M (odel) как в шаблонах MVVM, так и в MVC. INotifyPropertyChanged является частью ViewModel в MVVM. Несмотря на то, что вам потребуется написать код для обертывания DTO (ов) внутри виртуальной машины, время (более или менее) сохраняется меньше кода контроллера. С помощью форм вам не нужен контроллер и вы можете пропустить виртуальную машину и просто использовать View (XF View) в качестве замены VM, но тогда вы не сможете повторно использовать код на платформах, на которых нет поддержки форм. Если вы решите написать полную виртуальную машину, тогда ее можно легко использовать в другом месте (например, WPF, Razor). – SKall