Я часто сталкивался с тем, что называется Призма . Microsoft, которая управляет проектом, описывает его как
Рекомендации по составным приложениям в WPF и Silverlight.
Даже после прочтения более подробных описаний, я боюсь, что понятия не имею, о чем это на самом деле.
Я надеюсь, что здесь кто-нибудь сможет дать мне краткое и ясное объяснение того, что на самом деле представляет собой Призма и почему я должен ее изучить. Я уже пару лет являюсь разработчиком WPF, использую MVVM, если честно, и недавно сталкивался с людьми, использующими Prism, но лично чувствую себя немного не в курсе.
В частности, меня интересуют следующие моменты:
Является ли Prism буквально (или главным образом) буклетом, представленным на сайте MSDN ? Включает ли он какие-либо библиотеки, если да, то для чего именно?
Является ли Prism платформой MVVM? Должен ли я использовать его как «официальную платформу Microsoft MVVM» по сравнению с другими или своими?
Обеспечивает ли это внедрение зависимости? Так ли это относится к MEF?
Все, что я должен знать о том, что делает Prism, как разработчик WPF / Silverlight.
Ответы:
Prism является официальным руководством Microsoft Patterns and Practices Team по созданию «составных приложений» в WPF и Silverlight.
Он предназначен для предоставления рекомендаций по передовым методам создания крупномасштабных приложений, которые являются гибкими с точки зрения разработки и обслуживания.
Это включает руководство по внедрению зависимостей (через Unity или MEF), макет (включая использование MVVM), обработку составных событий и т. Д.
Это книга, но также включает библиотеки для поддержки (на сайте GitHub ).
Да и нет. Он включает руководство по использованию MVVM, но гораздо больше, чем инфраструктура MVVM. На самом деле, это не «фреймворк MVVM», хотя он включает руководство MVVM.
Да. Первоначально он включал Unity, но последний выпуск включает использование MEF для DI.
Стоит взглянуть на то, как они работают. У них очень продуманная концепция «региона», а также хорошая поддержка агрегации событий. Он также включает в себя передовые практики для разработки под WPF, Silverlight и Windows Phone одновременно.
источник
Это основа для создания приложений WPF и Silverlight.
http://compositewpf.codeplex.com/
Раньше его называли «Призма», прежде чем Microsoft переименовала его в «CompositeWPF».
ответы:
1) Prism - это инфраструктура MVVM, используемая в качестве основы для ваших приложений.
2) Я предлагаю так в зависимости от ваших конкретных требований. Вы должны опубликовать еще один вопрос с конкретными деталями, чтобы вы могли получить некоторые конкретные ответы.
3) Prism использует внедрение зависимостей (Unity), но не «обеспечивает» его
4) Imo, Prism предоставляет множество функциональных возможностей, но сильно влияет на кривую обучения. Для небольших проектов, в которых вы являетесь единственным разработчиком, вам может не потребоваться предоставляемая им абстракция и инструменты.
источник