Я пытаюсь найти лучший способ завершить настройку приложения 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 кажется хорошей, поскольку одно место для вызова функциональности будет работать очень хорошо.
Итак, с учетом сказанного, что еще мне следует сделать.Имеет ли функции внутри модели возможность заселять себя хорошо или плохо (это звучит очень странно для меня)?
Спасибо!