成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#實現插件構架淺析

開發 后端
這里介紹C#實現插件構架,C# 是面向對象的程序設計語言。它提供了 interface 關鍵字來直接定義接口。同時, System.Reflection 命名空間也提供了訪問外部程序集的一系列相關對象。

C#語言有很多值得學習的地方,這里我們主要介紹C#實現插件構架,包括介紹幾個解決方案的對比等方面。

假設你設計的程序已經部署到用戶的計算機上,并且能夠正常運行了。但是有一天,用戶打來了電話——他們要求增加新的功能。確定了用戶的需求后,你竟然發現原有的軟件架構已經無法勝任新增任務的需求——你需要重新設計這個應用了!但問題是,就算你又用了一個開發周期完成了用戶需要的應用,卻不能保證用戶的需求不會再次變更。也就是說,需求蔓延的可能性依然存在。因此,這種情況下C#實現插件構架更能顯示出它的優越性。

一. 幾個解決方案的對比

我總結了一下我所接觸到的C#實現插件構架,大致上可分為以下幾類:

1.腳本式

使用某種語言把插件的程序邏輯寫成腳本代碼。而這種語言可以是 Python ,或是其他現存的已經經過用戶長時間考驗的腳本語言。甚至,你可以自行設計一種腳本語言來配合你程序的特殊需要。當然,用當今***的 XML 是再合適不過了。

這種形式的特點在于,稍有點編程知識的用戶就可以自行修改你的腳本( ^_^ 假如你不加密它的話)。我們無法論證這是好處還是壞處。因為,這種情況所造成的后果是不可預知的。

2.動態函數庫 DLL

插件功能以動態庫函數的形式存在。主程序通過某種渠道(插件編寫者或某些工具)獲得插件 DLL 中的函數簽名,然后在合適的地方調用它們。用過 Matlab 的讀者都知道, Matlab 中的各項功能幾乎都是些動態鏈入的函數。

3.聚合式

顧名思義,就是把插件功能直接寫成 EXE 。主程序除了完成自己的職責外,還負責調度這些“插件”。我不喜歡這種形式。這使插件與插件之間,主程序與插件之間(主要是這一點)的信息交流困難了許多。巴比倫塔的失敗 [1] 從某種程度上講就是信息交流無法實現造成的。

4.COM 組件

COM [2] 的產生給這個世界增添了幾分活力。只有接口!我們的插件需要做的只是實現程序定義的接口。主程序不需要知道插件怎樣實現預定的功能,它只需要通過接口訪問插件,并提供主程序相關對象的接口。這樣一來,主程序與各插件之間的信息交流就變得異常簡單。并且,插件對于主程序來說是完全透明的。

二. 決策

C# 是面向對象的程序設計語言。它提供了 interface 關鍵字來直接定義接口。同時, System.Reflection 命名空間也提供了訪問外部程序集的一系列相關對象。這就為我們在C#實現插件構架打下了堅實的基礎。

【編輯推薦】

  1. C# this關鍵字詳解
  2. C#調用析構方法詳解
  3. C#釋放托管資源簡單描述
  4. C#單路代理簡單分析
  5. C#文法產生式概述
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-18 10:14:19

C#插件構架

2009-08-31 16:48:02

C#實現IDispos

2009-09-01 18:29:24

C#實現多個接口

2011-06-03 10:15:13

2009-08-21 09:20:44

C#異步套接字

2009-09-09 11:29:32

C# TextBox事

2009-08-28 15:57:56

C#線程傳遞參數

2009-08-13 18:15:06

C#繼承構造函數

2009-09-02 17:24:44

C#關機代碼

2009-09-07 09:36:29

C# DisposeDispose方法

2009-08-28 16:03:15

C#程序實現鼠標移動

2009-08-26 09:54:45

C#打印預覽C#打印

2009-08-07 17:25:37

C# SortedLi

2009-08-17 18:34:50

C# ChangeCo

2009-08-14 17:45:52

C# ArrayLis

2009-09-09 16:53:49

C# XmlSeria序列化

2009-09-04 13:55:04

C#文檔自動化

2009-08-12 16:26:30

C#讀取XML文檔

2009-09-07 05:24:22

C#窗體繼承

2009-09-10 12:00:09

C# listbox
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品99免费视频 | 精品在线观看入口 | 亚洲一区 | 中文字幕一区二区三区日韩精品 | 久草新在线 | 亚州精品天堂中文字幕 | 91久久久久久久久久久 | 精品美女久久久 | 免费在线观看一区二区 | 欧美一级在线 | 日本午夜免费福利视频 | 国产精品久久久99 | 国产黄色一级电影 | 久久99精品久久久久久青青日本 | 麻豆一区 | 天天综合操 | 亚洲精品视频在线观看免费 | 91精品国产欧美一区二区成人 | 国产乱码精品一区二区三区忘忧草 | 国产精品久久久久久久岛一牛影视 | 91精品国产99久久 | 国产精品欧美一区二区 | 日本免费网 | 久久成人18免费网站 | 中文字幕一区二区三区在线视频 | 激情av| 在线观看欧美日韩视频 | 成人亚洲在线 | 精品国产乱码久久久久久图片 | 国产精品黄色 | 欧美精品久久久 | 亚洲一区二区精品视频在线观看 | 国产精品美女久久久 | 国产欧美在线观看 | 久草资源在线 | 欧美成人a | 欧美1区 | 精品视频在线观看 | 久久伊人操 | 中文字幕亚洲欧美 | 国产亚洲成av人在线观看导航 |