Microsoft MEF: новый подход к IoCMEF (Managed Extensibility Framework) служит для построения расширяемых приложений. Но под этими “составными частями” не следует понимать полноценные плагины (как, например, в Visual Studio), потому что MEF не поддерживает загрузку в разных доменах приложения и версионность.
Проблемы, решаемые MEF (с Codeplex сайта)MEF предоставляет стандартный способ для приложения использовать внешние расширения (extensions). При этом само приложение может регистрировать себя в качестве расширения для использования другими сервисами. Расширение, по своей природе, может быть легко повторно использовано в другом приложении или жестко привязано к существующему. Расширения, в свою очередь могут зависеть друг от друга и MEF берет на себя обязанность следить, чтобы они были связаны в правильном порядке. [А вот это уже чистой воды IoC!].
Основные категории MEFComposablePart Атомарная сущность управляемая MEF`ом. Центральная часть фреймворка. Обычно представляется экземпляром определенного класса. Каждая часть (ComposablePart) может:
Catalog Каталог хранит информацию о способе получения списка модуле. Например, можно найти модули внутри сборки, во всех сборках внутри определенной папки либо задать вручную Composition Container Контейнер - это объект, выполняющий основные действия по связыванию модулей: организация импорта и экспорта, поиск модулей. Для получения модулей контейнер использует каталог.
ВыводыТаким образом, MEF организует интересную разновидность IoC контейнера. Если в обычном контейнере (основанном на декларативном описании зависимостей в XML) нужно строго указывать зависимости нужные каждому объекту, то MEF позволяет просто указать, что определенной поле или конструктор должны быть заполнены фреймворком, не определяя жестко тип зависимости. Получается довольно-таки интересно. Вернутся Вам будет интересно:
|
- Публикации
Итак, у вас имеется свой собственный форум, но его никто не посещает? Мы готовы помочь вам справиться с этой нелегкой проблемой.
Данная статья в основном рассчитана на тех, кто самостоятельно занимается продвижением своего проекта.
Проклял все настройки кодировок, проклял DirectAdmin и еле-еле нашел то место где располагается и задается общий пароль для ...
Твиттер уже давно стал из нового web 2. 0 сервиса рекламной площадкой с огромным количеством потенциальных пользователей ...
Самое время кратко описать, чем нам придется заниматься. Прежде всего нужно понять, что блог ты будешь делать для получения ...
Долго не знал с чего начать данную статью. Статья что-то типа мыслей вслух и философии.