2013-08-13 2 views
0

Я независимый разработчик. Есть ли реальное преимущество в использовании шаблона MVVM?Преимущества MVVM для разработчиков фрилансеров?

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

А как насчет фрилансера, как я? Я должен использовать шаблон MVVM в любом случае вместо шаблонов, таких как MVP и MVC?

+5

Возможно, это будет лучше обслуживаться на сайте обмена стеками программистов. –

+2

Независимо от того, что вы делаете, не пытайтесь заставить WPF архаичным способом winforms (делая все в коде позади). Вы потерпите неудачу. –

+0

IMO полностью зависит от размера проекта. Насколько большой проект мы говорим? – Dom

ответ

5

Лично я считаю, что MVVM идет рука об руку с WPF. Когда я начал изучать WPF, это был кошмар ... это просто так отличается от Winforms, например. Но когда я узнал о MVVM и начал использовать его с WPF, все просто встало на свои места.

Это имеет смысл иметь класс (модель представления), который содержит все данных, что вам нужно для конкретного Window или UserControl (вида). Это была одна из моих самых больших проблем ... где я помещаю этот бит данных?

Еще одна проблема, с которой я столкнулся, заключалась в создании и понимании объектов и различных обработчиков, с которыми они связаны. С MVVM нам не нужно беспокоиться об этом ... мы можем просто использовать обычные свойства CLR, хотя и с вызовом статического PropertyChangedCallback обработчика только для контроля входящих значений.

Единственная трудность, с которой я столкнулась с MVVM, - это немного о том, что «не использовал код позади» ... но однажды я обнаружил, что это скорее запрос, чем правило, тогда проблема в основном исчезла. Как только я узнал, что Attached Properties может реализовать большую часть функций типа событий пользовательского интерфейса, которые обычно помещаются в код позади (например, MouseDown события и т. Д.), То не использовать код позади стало намного проще.

Для меня это простой выбор ... если проект не будет небольшим, я всегда буду выбирать MVVM для использования с WPF.

+0

Хороший ответ, и я согласен. Хотелось бы, чтобы это стало лучше и наоборот: WPF был лучше приспособлен для поддержки MVVM.Например, меня постоянно укушает тот факт, что коллекция SelectedItems элементов управления, основанных на MultiSelector, не может быть привязана к базе данных. : S –

2

Я думаю, что это больше зависит от того, какие рамки вы используете и чего хочет клиент. Также я думаю, что очень мало случаев, когда вы начинаете проект с нуля, большую часть времени вы будете работать над уже существующими проектами, а затем неплохо следовать тому, что уже началось.

Но, если у вас нет внешних ограничений и начинайте с нуля, я думаю, что самое приятное для вас самое лучшее. Для меня MVC достаточно хорош для большинства проектов.

1

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

Смежные вопросы