Какой прикладной уровень мне не хватает? - PullRequest
1 голос
/ 30 июля 2011

Я пытаюсь найти лучший способ завершить настройку приложения MVVM, над которым я работаю.Сейчас у архитектуры есть несколько вариантов, но мне кажется, что чего-то не хватает.

По сути, у нас есть концепция провайдеров.Каждый провайдер по сути является шлюзом для какого-либо способа агрегирования данных в приложение.В настоящее время существует три поставщика, которые могут получить больше.То, как мы получаем данные от каждого провайдера, может быть различным, поэтому я собираюсь обрисовать в общих чертах то, что мы сделали ниже.

По сути, процесс выглядит следующим образом.

    User makes request -> 
    Request is sent to a function inside the "Model" -> 
    Function fowards request to a "Processor" which then sends the request to a specific or all "Provider" -> 
    Provider gets the data and returns the requests to the "Processor" -> 
    Processor formats the data so it can be consumed by the model ->
    Model consumes the data and by some binding is displayed back to the user.

Я чувствую, чтофункции внутри модели должны быть разделены на собственный слой.Обычно я думаю, что шаблон Factory подойдет, однако я просто не вижу в этом полезного шаблона.

Тогда я подумал об использовании шаблона Repository, однако, опять же, я недумаю, что получится то, что я хочу, так как его главное преимущество - доступ к данным типа ORM.Тем не менее, концепция использования шаблона Repository кажется хорошей, поскольку одно место для вызова функциональности будет работать очень хорошо.

Итак, с учетом сказанного, что еще мне следует сделать.Имеет ли функции внутри модели возможность заселять себя хорошо или плохо (это звучит очень странно для меня)?

Спасибо!

1 Ответ

0 голосов
/ 30 июля 2011

Я предлагаю вам начать с простого существующего MVVM фреймворк типа Galasoft MVVMLight

Потратив несколько часов на изучение такого рода фреймворков, вы получите много ответов и покажете некоторые распространенные проблемы с шаблоном MVVM, такие как Event to Command - как вызывать команду MVVM через нажатие кнопки

Кстати, модель должна быть настойчивой, вы правильно думаете об использовании репозиториев

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