Преобразование приложения служб данных WPF / ADO.NET в шаблон MVVM - примеры - PullRequest
0 голосов
/ 03 февраля 2010

У меня есть приложение WPF, написанное на C #. Это приложение не было написано с учетом какого-либо конкретного шаблона проектирования, но, как я узнал .NET, я понял, что модель MVVM подойдет. Таким образом, я хотел бы начать преобразование кода.

Это будет первый раз, когда я использую MVVM, и хотя я готов застрять, мне трудно найти надежные примеры MVVM в Интернете, где ADO.NET Data Service - это модель, а XAML это вид. Я хотел бы просмотреть некоторые примеры, прежде чем приступить к процессу преобразования своего собственного приложения, чтобы убедиться, что я правильно понял, что я делаю!

Кто-нибудь может порекомендовать небольшое (но не тривиальное) пример приложения с кодом, который использует WPF, ADO.NET Data Services и модель MVVM?

1 Ответ

1 голос
/ 03 февраля 2010

Я рекомендую начинать с любого примера, который использует MVVM с WPF, и их много. Дело в том, что чистая реализация MVVM не будет содержать никакого истинного кода доступа к данным - доступ к данным должен обрабатываться другим абстрагированным уровнем (см. MVVM, где разместить Уровень доступа к данным? ).

Работайте над созданием модели представления, которая инкапсулирует все данные и взаимодействие, необходимые для ваших (уже существующих) представлений. Очистите ваш код и получите привязку вашего вида к вашей модели представления.

Как только вы это сделаете, вы можете беспокоиться о том, как получить ваши объекты в хранилище постоянных данных и из него, но фактическая работа по выполнению этого не относится к M, V или VM.

Я знаю, что существует множество примеров с правами доступа к данным в модели представления или даже в модели, но они предназначены для быстрой иллюстрации, не требующей касательных для адресации зависимостей, фасадов и т. Д.

Найдите любой нетривиальный пример MVVM в WPF, и когда вы доберетесь до той части, где они непосредственно имеют дело с доступом к данным, напомните себе, что в этот момент вы будете использовать абстракцию постоянства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...