MEF по сравнению с ПРИЗМОЙ. Каково различие? Что будет поддерживаться в будущем?

Это кажется на использование неправильного адреса:

Для доступа к Сервису я вхожу http://localhost/project/myService.svc/FileUpload

Предположение, что Вы подразумеваете, что это - адрес, который Вы даете своему клиентскому коду тогда, я подозреваю, что это должно на самом деле быть:

http://localhost/project/myService.svc

16
задан Robert Harvey 30 March 2018 в 17:46
поделиться

4 ответа

MEF и Prism служат двум совершенно разным целям.

Prism - это в основном руководство для разработки составных приложений - где у вас есть оболочка и «регионы», которые назначаются и интегрируются динамически. Он включает контейнер IoC (Unity), который он использует для его внедрения.

MEF - это структура внедрения зависимостей - его основная цель - «заполнить» зависимости приложения во время выполнения. В этом отношении он выполняет ту же задачу, что и Unity в Prism (и, на самом деле, вы можете довольно легко переделать Prism, чтобы использовать MEF вместо Unity).

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


Что касается срока службы этих продуктов - здесь нет ответа, но вот как они в стадии разработки:

Prism была разработана командой Patterns and Practices. Цель не обязательно в создании программного обеспечения, а в предоставлении рекомендаций. Таким образом, они обновляют (хотя и нечасто) библиотеку и образец Prism, но Prism не является основной частью платформы, поставляемой Microsoft. Это действительно сторонняя библиотека (хотя MS много ее финансирует, большинство сотрудников P&P не являются MS FTE).

MEF, судя по сообщениям в блоге, похоже, что ее планируется интегрировать в структуру, и использоваться непосредственно в проектах MS. Как таковой, он интенсивно разрабатывается непосредственно Microsoft и используется в их продуктах.

Я лично прочитал документацию Prism (и получил книгу) и просмотрел образцы. Очень полезно понимать, как разбить приложение на части, но на самом деле это скорее руководство, чем полная, удобная структура. Образцы очень хорошо справляются с тем, для чего они предназначены - обучать архитектора тому, как проектировать составное приложение.

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

они интенсивно разрабатываются непосредственно Microsoft и используются в их продуктах.

Я лично прочитал документацию по Prism (и получил книгу) и просмотрел образцы. Очень полезно понять, как разбить приложение на части, но на самом деле это скорее руководство, чем полная, удобная структура. Образцы очень хорошо справляются с тем, для чего они предназначены - обучать архитектора тому, как проектировать составное приложение.

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

они интенсивно разрабатываются непосредственно Microsoft и используются в их продуктах.

Я лично прочитал документацию по Prism (и получил книгу) и просмотрел образцы. Очень полезно понять, как разбить приложение на части, но на самом деле это скорее руководство, чем полная, удобная структура. Образцы очень хорошо справляются с тем, для чего они предназначены - обучать архитектора тому, как проектировать составное приложение.

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

непосредственно от Microsoft и используются в их продуктах.

Я лично прочитал документацию Prism (и получил книгу) и просмотрел образцы. Очень полезно понимать, как разбить приложение на части, но на самом деле это скорее руководство, чем полная, удобная структура. Образцы очень хорошо справляются с тем, для чего они предназначены - обучать архитектора тому, как проектировать составное приложение.

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

непосредственно от Microsoft и используются в их продуктах.

Я лично прочитал документацию Prism (и получил книгу) и просмотрел образцы. Очень полезно понимать, как разбить приложение на части, но на самом деле это скорее руководство, чем полная, удобная структура. Образцы очень хорошо справляются с тем, для чего они предназначены - обучать архитектора тому, как проектировать составное приложение.

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

Я лично прочитал документацию по Prism (и у меня есть книга), а также просмотрел образцы. Очень полезно понять, как разбить приложение на части, но на самом деле это скорее руководство, чем полная, удобная структура. Образцы очень хорошо справляются с тем, для чего они предназначены - обучать архитектора тому, как проектировать составное приложение.

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

Я лично прочитал документацию по Prism (и у меня есть книга), а также просмотрел образцы. Очень полезно понять, как разбить приложение на части, но на самом деле это скорее руководство, чем полная, удобная структура. Образцы очень хорошо справляются с тем, для чего они предназначены - обучать архитектора тому, как проектировать составное приложение.

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

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

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

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

Если ваша цель - просто сохранить четкое разделение проблем в приложении Silverlight, я бы сосредоточился больше об изучении MVVM, чем просто об использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

re предназначен для выполнения - обучить архитектора тому, как проектировать составное приложение.

Если ваша цель состоит в том, чтобы просто сохранить четкое разделение задач в приложении Silverlight, я бы больше сосредоточился на изучении MVVM, чем просто на использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

re предназначен для выполнения - обучить архитектора тому, как проектировать составное приложение.

Если ваша цель состоит в том, чтобы просто сохранить четкое разделение задач в приложении Silverlight, я бы больше сосредоточился на изучении MVVM, чем просто на использовании Prism.

Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это полноценный MVVM-фреймворк, построенный на основе использования MEF, и довольно приятный.

23
ответ дан 30 November 2019 в 17:15
поделиться

Basically, MEF is a general-purpose extensibility framework:

If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you.

whereas Prism is mostly for building GUIs:

The Composite Client Application Guidance is designed to help you more easily build modular Windows Presentation Foundation (WPF) and Silverlight client applications.

4
ответ дан 30 November 2019 в 17:15
поделиться

Итак, MEF и Unity в основном одно и то же ...

Ну, не совсем. MEF больше ориентирован на расширения, которые неизвестны во время компиляции, в то время как контейнеры IOC обычно фокусируются на зависимостях, которые известны во время компиляции. Главный ответ на этот вопрос дает хорошее объяснение различий.

4
ответ дан 30 November 2019 в 17:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: