基於AppDomain的 外掛程式式 開發

2021-09-06 06:25:05 字數 542 閱讀 4626

看了空逸雲的"

基於的"外掛程式式"開發

"後,在其基礎上,做優化修改。

1. 使用

,在程式集找不到時,去

plugins

目錄中再次載入。

這樣就可以直接載入外掛程式類名,方便多了。

2. 外掛程式的方法有限,直接寫上方法**,去除了動態生成方法呼叫的效能損失。

同時,系統還保證了外掛程式的:

1. "

熱插拔"

實現2.

版本更新時,只要把新的

dll放置在

plugins

目錄中(不會出現檔案鎖定),然後再次引導程式集及可。(這些應該是目錄監控**一完成,載入前解除安裝原

domain)

類圖:

解決方案目錄:

參考:

基於AppDomain的外掛程式開發 自動載入(三)

前面已經得到了熱插拔的外掛程式原型,這次討論如果外掛程式是服務提供者怎麼辦?我能想到的,需要在起動時載入所有外掛程式 然後在外掛程式變動時,及時解除安裝舊的外掛程式,載入新的外掛程式。如果有新外掛程式放在目錄中,需要馬上載入新的外掛程式。如果外掛程式被刪除,我們要把對應的服務也移除。最終使用時,如下...

基於Flask的Web應用程式外掛程式式結構開發

事實上,很多應用程式基於外掛程式式結構開發,可以很方便了擴充套件軟體的功能,並且這些功能完全可以依託於第三方開發者,只要提供好介面和完備文件,比如wordpress 谷歌火狐瀏覽器等。python這樣的動態語言天生就支援外掛程式式程式設計。與c 相比,python已經定義好模組的介面,想要載入乙個外...

AppDomain與Assembly的載入與解除安裝

為了將問題描述清楚,我們先來看乙個例子。在這個例子中,winform上有乙個按鈕,當使用者點選這個按鈕後,就會裝載乙個已經存在的assembly,並且在介面的label控制項上顯示出這個assembly的fullname。對reflection稍微熟悉一點的朋友都知道,這是非常簡單的事情,只需要用a...