Что такое Призма для WPF? - PullRequest
128 голосов
/ 08 июня 2011

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

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

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

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

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

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

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

  • Обеспечивает ли это внедрение зависимостей? Так ли это относится к MEF?

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

Ответы [ 2 ]

87 голосов
/ 08 июня 2011

Prism - это официальное руководство 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.

18 голосов
/ 08 июня 2011

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

http://compositewpf.codeplex.com/

Раньше его называли «Призма», прежде чем Microsoft переименовал его в «CompositeWPF».

Ответы:

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

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

3) Prism использует внедрение зависимостей (Unity), но не «обеспечивает» его

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

...