Microsoft имеет Managed Extensibility Framework (MEF), созданный для этого. MEF доступен как часть .NET 4. С сайта CodePlex:
Managed Extensibility Framework упрощает создание расширяемых приложений. MEF предлагает возможности обнаружения и компоновки, которые вы можете использовать для загрузки расширений приложений.
Какие проблемы решает MEF?
MEF представляет простое решение для
проблема расширяемости во время выполнения.
До сих пор ни одно приложение, которое
хотел поддержать модель плагина
необходимо создать свой собственный
инфраструктура с нуля. Те
плагины часто бывают
для конкретного приложения и не может быть
повторно используется через несколько
Реализации.
- MEF обеспечивает
стандартный способ для хост-приложения
выставить себя и потреблять внешнее
расширения. Расширения, по их
природа, может быть повторно использована среди
разные приложения. Тем не менее,
расширение все еще может быть реализовано
таким образом, что
конкретное приложение. расширения
сами могут зависеть друг от друга
и MEF позаботится о том, чтобы они были подключены
вместе в правильном порядке
(еще одна вещь, которую вам не придется
беспокоюсь о).
- MEF предлагает набор
Discovery подходит для вашего
приложение для поиска и загрузки
доступные расширения.
- MEF позволяет
добавление тегов к расширениям
метаданные, которые облегчают богатые
Запросы и фильтрация