Поскольку я изучал WPF, я сосредоточился на применении только приложений MVVM-шаблона.Когда имеет смысл отказаться от MVVM?
Однако я заметил, что для некоторой функциональности such as validation, трудно или невозможно оставаться верным модели MVVM. Много раз просто наклеивал x: Name на элемент и менял его в обработчик кода-кода решает проблему немедленно.
Какой у вас реальный опыт в мире с отказ от шаблона MVVM?
- когда есть отказ от MVVM иметь смысл? например вы разработали правила, которые, если приложение имеет определенную сложность, вы будете использовать его, иначе вы не будете?
- Когда он отказывается от MVVM калечит вас позже (например, я могу представить, если вы хотите обновить приложение для использования Composite Application Library, вся концепция ввода ViewModels и Container не будет работать, если у вас есть вся ваша логика в коде позади
- когда делает abbandoning MVVM не имеет значения, например, я могу представить, что код, который вы не хотите/нуждаетесь в тестировании, может быть только в коде, а ваша базовая структура все еще MVVM и запускается через макеты тестов и т. д.
Я предполагаю, что вы имеете в виду приложенное поведение, как в примере Джоша Смита: http://www.codeproject.com/KB/WPF/AttachedBehaviors.aspx. Что вы подразумеваете под «Сервисами» в отношении MVVM, как в этой статье? http://blogs.msdn.com/jaimer/archive/2007/02/19/creating-user-interfaces-declaratively-using-wpf.aspx –
Теперь есть два «прикрепленных поведения». Старый школьный путь, как и статья Джоша, и новый способ, с Blend Behaviors. http://azurecoding.net/blogs/brownie/archive/2009/04/06/blend-behaviors-ftw.aspx Новый способ можно использовать, но мы использовали старый способ в течение некоторого времени. Что касается услуг, я говорю об Service Locator и/или Injection Dependency. См. Onyx (http://wpfonyx.codeplex.com) (отказ от ответственности: я автор). – wekempf