四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

C# 插件式程序開發(fā)

  在網(wǎng)上找了下插件式編程的資料,這里自己先借鑒下別人的,同時發(fā)現(xiàn)有自己的看法,不過由于本人水平有限,不一定有參考價值,寫出來一方面是為了總結(jié)自己,以求提高,另一方面也希望各為朋友看到我的不足,給我提出寶貴意見。

  什么是插件式編程

  提起插件式,我們首先想到的是firefox, 用過firefox的人都知道它是一個插件式程序。當(dāng)一個功能需要,完全可以從網(wǎng)上下載一個插件后,重啟后,就能使用。這個功能給我們帶來許多的方便之處,這就是插件式程序的好處。

  插件的本質(zhì)在于不修改程序主體(平臺)的情況下對軟件功能進(jìn)行拓展與加強,當(dāng)插件的接口公開后,任何公司或個人都可以制作自己的插件來解決一些操作上的不便或增加新功能,也就是真正意義上實現(xiàn)“即插即用”軟件開發(fā)。

  平臺+插件軟件結(jié)構(gòu)是將一個待開發(fā)的目標(biāo)軟件分為兩部分,一部分為軟件的主體或框架,可定義為平臺,這是預(yù)先編譯后的程序。另一部分為功能或補充模塊,可定義為插件。這個就是后來要進(jìn)行安裝的插件程序。

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

  可以這么說,用它可以帶來方便的地方,而且開發(fā)它,也很簡單。而且這樣的主程序根本就不需要改動。需要插件時,拿來就能用,插件更新時,也只需更新這個插件即可。

  從程序開發(fā)這角度,一般是先開發(fā)主程序,決定哪些功能由主程序來完成,然后再建立接口,申明接口的內(nèi)容,這些內(nèi)容決定著插件功能的擴展及方向的。這些都是有主程序開發(fā)者預(yù)先準(zhǔn)備好的。插件開發(fā)者,從主程序開發(fā)者那里得到接口的內(nèi)容,并書寫繼承這些接口的類,來完成具體的功能。

  下面來寫個例子,這個例子沒實際意義,純屬學(xué)習(xí)思想。例子是網(wǎng)上的經(jīng)過自己改造的,發(fā)現(xiàn)別人某些地方不合理。

  首先,新建一個類庫,里面定義接口,這里定義兩個方法,一個有返回值的,一個無返回值的。

using System;
using System.Collections.Generic;
using System.Text;

namespace IMsg
{
///<summary>
/// 這是插件必須實現(xiàn)的接口,也是主程序與插件通信的唯一接口
/// 換句話說,主程序只認(rèn)識插件里的這些方法
///</summary>
publicinterface IMsgPlug
{
  void OnShowDlg();
  string OnShowInfo();
}
}

NET技術(shù)C# 插件式程序開發(fā),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人免费视频在线播放| 3片| 七龙珠2| 十大高蛋白食物蔬菜| 好妻子电视剧免费在线观看| 德鲁| 神迹电影| 欧比旺·克诺比| 希比·布拉奇克| 想要更多| cetv3中国教育电视台直播| 一生有你简谱| 当爱已成往事张国荣| 国内自拍99| 生死劫电影| 香谱七十二图解| 我仍在此 电影| 翁姆| 广西都市频道节目表| 张钰凰| 喝醉的图片| 我被最想被拥抱的人威胁了| 文王一支笔的功效与作用| 男同视频在线| 十三刺客| 王艺潼| 杰西卡·布朗·芬德利| 少年智力开发报| 姨妈电影| 公交车上的那些事| 农村gaygayxxx| 利刃出鞘剧情介绍| 拾贝的小女孩阅读理解答案| 安渡| 梦断楼兰电影| 发如雪 歌词| 永刚| 姬他演过的电视剧和电影| 甜蜜宝贝电影| 三浦翔平| fate动漫|