Silverlight MVVM против Призмы - PullRequest
3 голосов
/ 16 июля 2011

Я новичок Silverlight. Я начинаю новый проект, и я хотел бы использовать существующие шаблоны, такие как MVVM и PRISM .

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

Ответы [ 8 ]

3 голосов
/ 16 июля 2011

MVVM - это шаблон, PRISM - это фреймворк, который можно использовать для реализации MVVM.Чтобы начать работу с Silverlight и MVVM, я бы рекомендовал взглянуть на MVVM Light.

2 голосов
/ 17 октября 2012

MVVM - это шаблон, и вы можете использовать платформу Prism для его реализации.Также помните, что если вы помещаете какой-либо код в код, то вы нарушаете шаблон.Если вы хотите отдельно выполнять какие-либо конкретные проверки или операции, используйте свойство Converter, добавив класс, производный от класса Converter (например, если вы хотите использовать анимацию в сетке / панели и т. Д.)

2 голосов
/ 12 марта 2012

Prism - это гораздо больше, чем MVVM, он предоставляет множество функций / базовых классов из коробки, которые вы должны будете реализовать самостоятельно в своей собственной реализации MVVM;Prism предоставляет стандартный способ решения различных проблем / сценариев, встречающихся в приложениях SL или WPF (EventAggregator, среда навигации, командование и т. Д.).

Я согласен с другими ответами, что -

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

MVVM лучше подходит для легких приложений, которые необходимо разрабатывать один раз и быстро.Хотя, если вам нужна гибкость, вы можете разработать свою собственную инфраструктуру MVVM или использовать доступные (например, MVVM light и т.противPRISM

2 голосов
/ 18 июля 2011

Платформа PRISM лучше всего используется для крупномасштабных модульных проектов, особенно когда разработка может охватывать команды.Это обеспечивает очень слабую связь, позволяя полностью независимую разработку модулей, которые могут быть загружены отдельно или по требованию.

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

MVVM является «наиболее распространенным», поскольку это происходит в нескольких средах, включая PRISM (или даже собычный старый Silverlight без рамки).PRISM - это на несколько порядков больше работы по изучению и внедрению, но это стоит усилий на больших проектах.

1 голос
/ 03 сентября 2012

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

1 голос
/ 23 мая 2012

Я использовал MVVM и Prism в проекте. Также я кодировал один, мне нравились оба. Помог мне провести обзор проекта.

Prism и MVVM отлично работают вместе. Регион-менеджер Prism позволил мне разделить виды по частям, а контроллер / микроядро (я использовал Microsofts Unity / не совсем часть Prism-Framework) помог мне удерживать части свободно соединенными. И это еще не все ...

У меня было около 40 тыс. Строк кода, и я твердо верю, что работа с Prism Framework и MVVM сэкономила мне больше времени, чем я трачу. Но на старте это занимает немного времени.

Советы по чтению MVVM:

Джош Смит был для меня большой помощью. Вот одна статья: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

Если вам подходит немецкий, я читал статью о dotnetpro несколько месяцев назад. Это было как раз о некоторых проблемах, на которые у меня ушло время разобраться: «Йорг Нойманн / Flexibler Standard / dotnetpro 04/2012»

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

Надеюсь, это поможет!

1 голос
/ 06 сентября 2011

PRISM - это фреймворк, а MVVM - это шаблон проектирования.Таким образом, вы можете использовать PRISM и MVVM в своем приложении Silverlight.

0 голосов
/ 10 июля 2012

Я вижу, что у нас уже так много ответов относительно того, что такое MVVM и Prism. Как уже говорилось, MVVM - это шаблон, который помогает вам писать более понятный пользовательский интерфейс «почти без кода», а Prism - одна из платформ, которая помогает вам в этом. Но для использования шаблона MVVM не обязательно использовать какие-либо фреймворки, такие как Prism, но если вы используете, они дадут вам некоторый старт. Вы даже можете попробовать написать свой собственный http://channel9.msdn.com/Events/MIX/MIX10/EX15

...