Прежде всего, извините, мой плохой английский!Во многих руководствах по Silverlight я вижу следующее:
У нас есть модели на стороне сервера, например, Product.В веб-сервисе есть метод, например Ilist GetProducts ();На стороне клиента класс Product генерируется, когда мы добавляем сервисную ссылку.Тогда мы будем использовать эту модель продукта в viewmodels и xaml.Но что произойдет, если кто-то внесет изменения на стороне сервера или если изменение Модели продукта, например, свойство «Name», будет «NameProperty» или кто-то попытается изменить веб-сервис на другой.Прокси-класс Product также изменится на стороне клиента, после чего нам придется «обновить» viewmodels, bindings и т. Д., Которые используют класс Product.
А как насчет этого решения?:
НаСторона Silverlight У меня есть интерфейс IProduct, который содержит все свойства, которые будут использовать viewmodels и xaml.Я делаю интерфейс IRepository, который имеет метод IList GetProducts ().Я реализую этот интерфейс, например, WCFRepository, который получает данные из службы wcf.Реализация метода GetProduct отобразит все продукты на реализацию IProduct, просто скопируйте свойства в реализацию IProduct.Поэтому, когда Продукт на стороне сервера изменяется, мне нужно только изменить отображение в WCFRepository.Или, если я меняю службу WCF на другую, мне нужно только написать OtherRepository и записать сопоставление в реализации метода GetProducts.В этом решении представление и модели представления не меняются!
Как насчет моего решения?Я иду в правильном направлении?Есть ли хороший пример, учебник, шаблон по этому поводу?Любое ключевое слово будет хорошо!:) Спасибо!