Что такое Prism для WPF?

я наткнулся на что-то под названием Присм много в последнее время. Microsoft, которые запускают проект, описывают его как

рекомендации для составных приложений в WPF и Silverlight.

даже после прочтения более подробных описаний там, я почти не знаю, о чем это на самом деле, я боюсь.

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

в частности, меня интересуют следующие моменты:

  • Призма буквально просто (или в основном) буклет, как указано на сайте MSDN? Включает ли он какие-либо библиотеки, если да, то для чего именно?

  • Is Призма рамки MVVM? Должен ли я использовать его как "официальную платформу Microsoft MVVM" над другими или моими собственными?

  • обеспечивает ли он инъекцию зависимостей? Имеет ли это отношение к MEF вообще таким образом?

  • все остальное я должен знать о том, что делает Prism, как разработчик WPF/Silverlight.

2 ответов


Призма Microsoft Patterns and Practices Team официальное руководство по созданию "композитных приложений" в WPF и Silverlight.

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

Это включает в себя руководство по инъекции зависимостей (через Unity или MEF), макет (включая использование MVVM), обработка составных событий, так далее.


является ли Prism буквально просто (или в основном) буклетом, как указано на сайте MSDN? Включает ли он какие-либо библиотеки, если да, то для чего именно?

Это книга, но также включает библиотеки для поддержки (о GitHub сайт).

является ли Prism структурой MVVM? Должен ли я использовать его как "официальную платформу Microsoft MVVM" над другими или моими собственными?

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

обеспечивает ли он инъекцию зависимостей? Имеет ли это отношение к MEF вообще таким образом?

да. Первоначально он включал Unity, но последняя версия включает использование MEF для DI.

что-нибудь еще я должен знать о том, что делает Prism, как WPF / Silverlight разработчик.

стоит взглянуть на то, как они делают вещи. Они имеют очень сложную концепцию "региона", а также хорошую поддержку агрегации событий. Он также включает в себя рекомендации по разработке против WPF, Silverlight и Windows Phone одновременно.


Это основа для создания приложений WPF и Silverlight.

http://compositewpf.codeplex.com/

раньше он назывался "Prism", прежде чем Microsoft переименовала его в " CompositeWPF."

ответы:

1) Prism-это платформа MVVM для использования в качестве основы для ваших приложений

2) я предлагаю так в зависимости от ваших специфических требований. Вы должны опубликовать еще один вопрос с конкретными деталями, чтобы вы могли получить некоторые конкретный ответ.

3) Prism использует инъекцию зависимостей (Unity), но не "предоставляет" ее

4) Имо, Призма обеспечивает много функциональность но тяжело на кривой обучения. Для небольших проектов с вами как единственным разработчиком вам могут не понадобиться абстракция и инструменты, которые она предоставляет.