2010-12-10 5 views
8

Я только начал изучать .net МОФ, ФОС и MVVM, и мой вопрос:Реализация собственного MVVM против использования MVVM-структуры?

Является ли это лучше реализовать собственный MVVM или использовать структуру MVVM как MVVM Light Toolkit, Prism (это слишком продвинутым и имеет единую структуру (не уверен, как она помогает в развитии))?

+2

Если у вас есть просто начал изучать .Net, то последнее, о чем вы должны думать, - это переосмыслить Framework, созданные некоторыми ОЧЕНЬ опытными людьми. –

+1

Этот подобный вопрос, заданный мной, также имеет хорошие ответы на вопрос MVVM или PRISM - http://stackoverflow.com/questions/6251821/custom-mvvm-implementation-vs-prism – akjoshi

ответ

6

Если вы действительно хотите понять внутреннюю работу MVVM, попробуйте реализовать свою собственную.

Если вы уже понимаете концепции и не чувствуете необходимости изобретать колесо, используйте Framework. Призма - твердый выбор ... иди за ней.

+0

спасибо за быстрый ответ. Я просто пытался реализовать MVVM с нуля. Я бы сказал, что у меня есть концепция, кроме нескольких мелочей (которые мне нужно копать глубже), но MVVM как концепция, которую я получил. Но какой должен быть мой выбор сейчас? мой собственный MVVM/Prism/Light, учитывая, что приложение не является большим приложением. – WhoIsNinja

+0

@NSingla - Тогда, если вы не пытаетесь бросить вызов себе, чтобы создать MVVM Framework, чтобы конкурировать с Prism ... просто используйте Framework! Нет причин делать жизнь более сложной для себя. –

+0

отлично, спасибо, я получаю вашу мысль. И если я прыгаю в Призм, мне нужно понять Unity/MEF, прежде чем пытаться реализовать MVVM? – WhoIsNinja

3

Я бы не стал изобретать колесо, оценивать рамки и только в том случае, если они не удовлетворяют вашим требованиям, если вы подумаете о написании своей собственной структуры.

+0

Это правильно, и это относится не только к MVVM. Если вы не добавляете ценность, повторно используете, повторно используете, повторно используете и не сосредотачиваетесь на своей основной бизнес-логике, а не на инфраструктуре, которую другие уже сделали. – jason

3

Я предлагаю посмотреть на этот разговор: Build Your Own MVVM Framework

(если вы до сих пор нет)

я решил прочитать некоторые ресурсы различных рамок первого, то я скачал некоторые примеры проекта основанный на Caliburn Micro, чтобы понять, как все работает

Caliburn является большой рамки и обеспечить все, что вам нужно, чтобы начать и глубоко ездить в MVVM

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

EDIT

MediaOwl является лучшим открытым исходным кодом, я нашел, чтобы увидеть хорошую реализацию Caliburn Micro в действии, не забудьте проверить это, если вы в конечном итоге они выбрали эту структуру

+0

Легче, чем Призма/Свет, чтобы реализовать и работать? – WhoIsNinja

+0

http://www.japf.fr/silverlight/mvvm/index.html Этот инструмент сравнения показывает, что калибр Caliburn не является хорошим вариантом, в соответствии с этим либо Caliburn, либо Light должен быть выбором. Хотя в списке нет Prism. – WhoIsNinja

+1

Caliburn Micro прост, но не является базовой базой, он мощный, потому что он обладает хорошими функциональными возможностями, MVVM Light довольно простой, и он помогает понять шаблон. Это правда, что Caliburn Micro не имеет ВСЕХ функциональных возможностей, которые вам когда-либо понадобятся в MVVVM, но это проще для патча/расширения, чем полная версия Caliburn. Это было мое впечатление, когда я включил исходный код фреймворков в свой проект, чтобы иметь контроль над ним, если мне когда-либо понадобилось изменить какое-то поведение, чтобы лучше соответствовать моим потребностям, или изменить некоторые соглашения – BFil

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