Мне нужно создать приложение на C #, которое будет иметь несколько пользовательских интерфейсов, 2 для веб-сайтов и одно, которое будет одним и тем же приложением, но которое можно будет использовать без доступа к Интернету. Я склоняюсь к MVC для веб-сайтов, а затем к MVVM / WPF для приложений Windows (Silverlight не вариант). Я должен быть в состоянии внедрить различную реализацию репозитория для двух парадигм, таким образом решая проблему отсоединения от Интернета.
Что меня интересует, так это то, как лучше использовать как можно больше логики представления. В идеале я хотел бы иметь возможность использовать одни и те же объекты типа контроллера / презентатора для запуска обоих пользовательских интерфейсов. Я ищу пример хорошего решения этой проблемы. Я не вижу четкого пути к повторному использованию контроллеров MVC (они кажутся слишком тесно связанными с платформой MVC для работы), но в то же время меня не волнуют накладные расходы, связанные с реализацией пользовательского шаблона MVVM или MVP для Интернета (который я боюсь, это ответ).
Или я просто схожу с ума, даже пытаясь повторно использовать эти компоненты? Разве это не стоит хлопот? Мы можем легко обмениваться сервисами, лежащими в основе UI, но, кажется, стыдно писать такой код UI дважды.