Изучаю WPF и пока все хорошо, но часто сталкиваюсь с MVVM, про него пишут.
Пока MVVM сам не изучал, только смотрел, логику понял более мнение. Хотя по написаю есть вопросы.
У меня вопрос, когда использовать MVVM? Я понимаю в сложных и больших проектах, ну а если у меня проект и в нем всего 100-200 строк, не очень сложный. Сборка информации с 1 сайта и все.
libera: Да так же, если в ходе работы метода или свойства нужно конвертировать. Если нужно конвертирование привязанных к тектбоксу свойств VM, то используют конвертеры.
Всегда использовать. Просто - всегда. WPF изначально разработан под связывание и нормальную архитектуру.
То, что можно делать так же, как в WinForms, не говорит о том, что это стоит делать.
Просто запомнить как мантру, создал проект - добавь референс на MVVM фреймворк, и работай. Фреймворк любой, например MVVMLight. Или Prism. Или свой велосипед (я так делаю), любой.
Вам не нужен MVVM, если вы не планируете развивать проект дальше, типа поддержка N сайтов c M разных платформ или что-то в этом роде. Если же планируется расширение - MVVM пригодится, хотя бы потому, что можно будет намного легче переиспользовать код.
вообще паттерны придуманы, не только для упрощения кода / логики и т д
а для облегчения его понимания, другими программистами
например завязал беседу, и сказал мол например я использую фабрику в этом решении и т д
программист уже примерно понимает о чём ты
и т д
мне кажется
лучше с самого начала приучить себя к такому коду по паттернам
ну и антипаттерны нужно гуглить
мне кажется что стоит перед паттернами ознакомиться с SOLID и GRASP. А потом уже паттерны, и искать в них применения принципов SOLID и GRASP. Тогда это все будет продуктивно, будет видна причина и следствие.
Берите MVVM + Caliburn Micro. Mvvm Light просто набор хелперов по сути, хотя есть и широковещательные сообщения. Prism для начала это слишком, может оказаться слишком сложно.