MVVM для winforms [дубликат]

Вы можете проверить

  1. Проверить подключение к Интернету без прокси и открыть подключение к Интернету
  2. Заменить google-service.json на новый, который вы можете получить. в firebaseconsol
  3. Убедитесь, что на вашем устройстве есть сервис Google Play, работает он или нет, FireBase не работает без сервиса Google Play

Проверить - Сервис FireBaseInstanceId не получает зарегистрировано

32
задан Community 23 May 2017 в 10:30
поделиться

4 ответа

MVVM В частности, соответствует разметке + код и модели без внешнего вида в WPF и silverlight. Я бы не стал предлагать это приложению winforms, так как считаю, что это было бы излишним. Я не вижу никаких преимуществ перед MVP в приложении winforms. Однако в WPF и silverlight он всегда предпочтительнее MVP.

Прочтите в Интернете, что такое MVVM и почему он появился. Это должно прояснить ситуацию.

-1
ответ дан 27 November 2019 в 21:13
поделиться

Я не верю, что MVVM можно реализовать в winforms (по крайней мере, без большого количества взломов). MVVM отделяет представление (вашу форму) от модели представления (вашу логику).

Причина, по которой это можно сделать в WPF, заключается в том, что WPF позволяет свободно связывать представление с моделью представления через привязку данных в xaml. Это позволяет ViewModel ничего не знать о представлении и по-прежнему работать. Это хорошая статья по основам MVVM, я считаю, что она прояснит несколько вопросов.

0
ответ дан 27 November 2019 в 21:13
поделиться

I think that there are two answers here... really just one answer to "Should I" and one answer to "Could I".

As far as "Could I", it is certainly possible. MVVM really just relies on a view that can bind to a view model. Since WinForms supports binding, this certainly is possible. You may need to write some code to make that binding more useful in an MVVM world, but it is (at least) theoretically possible. If it worked well, the benefits would be pretty great, IMO. You could make sure that your WinForms "View" had no UI behavior, except for creating the visual objects and binding them (in code, not declarative like in XAML). WinForms objects are very difficult to test, where ViewModels are very easy to test.

As far as your real question: "Should I", that becomes much more of a project-level decision. What are your goals? If you are looking to make some rather complex UI logic testable, then you might at least look into it. Fortunately, though, there are other patterns (Model-View-Presenter, for instance) that have more community backing that also has you write a testable "presenter" class. I find ViewModels significantly easier to write unit tests against compared to Presenters, but I think that is a personal preference.

Just as an aside, the MVVM pattern is mostly another name for the "Presenter Model" pattern. You might look to see if anyone is having success with the "Presenter Model" against WinForms UIs.

Good luck!

21
ответ дан 27 November 2019 в 21:13
поделиться

MVVM был специально создан для WPF, чтобы использовать преимущества таких функций WPF, как привязки и команды. Windows Forms не имеет этих функций (*), поэтому на самом деле нет смысла пытаться применить шаблон MVVM к приложению Windows Forms ... Вам, вероятно, следует вместо этого использовать MVC или MVP.

(*) На самом деле он имеет некоторую базовую поддержку привязки данных, но не такую ​​мощную, как в WPF ...

-2
ответ дан 27 November 2019 в 21:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: