MEF應用(1)

概述

 

MEF全稱Managed Extensibility Framework(受管理擴展性框架),是微軟.NET框架下爲提高應用和組件複用程度而推出的。使用MEF能夠使靜態編譯的.NET應用程序轉換爲動態組合,這將是創建可擴展應用、可擴展框架和應用擴展的好途徑。它將做爲.NET Framework 4.0的組成部分之一發布。現在,這個框架在.NET3.5中也可以運行。

 

解決的問題

 

MEF解決了什麼呢?以往,如果一個應用程序需要支持插件方式必須要實現自己的底層並且這些插件通常是針對特有應用的,不能被其他應用所使用。實際上MEF提供了發現和組合的能力使你的應用程序可以加載擴展,爲運行時的可擴展性提供了一種簡單的解決方法:

MEF爲宿主應用提供了一種標準的途徑來暴露自身並使用外部擴展。而擴展本身是可以被不同的應用程序所使用的。而一個擴展依舊可以通過針對特定應用的方法來實現。擴展之間也可以存在依賴關係,MEF則會自動將它們按照正確的順序進行調用。MEF還提供了一些用來定位和加載可用擴展的方法。MEF允許使用附加元數據對擴展進行標記,從而達到易於豐富的查詢和篩選的目的。

 

 

工作原理

 

簡短說一下MEF的工作原理,MEF的核心包括一個catalog和一個CompositionContainercategory用於發現擴展,而container用於協調創建和梳理依賴性。每個可組合的Part提供了一個或多個Export,並且通常依賴於一個或多個外部提供的服務或Import。每個Part管理一個實例爲應用程序運行。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章