天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

C# 插件式程序開發

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

  什么是插件式編程

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

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

  平臺+插件軟件結構是將一個待開發的目標軟件分為兩部分,一部分為軟件的主體或框架,可定義為平臺,這是預先編譯后的程序。另一部分為功能或補充模塊,可定義為插件。這個就是后來要進行安裝的插件程序。

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

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

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

  下面來寫個例子,這個例子沒實際意義,純屬學習思想。例子是網上的經過自己改造的,發現別人某些地方不合理。

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

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

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

NET技術C# 插件式程序開發,轉載需保留來源!

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

主站蜘蛛池模板: 国产精品亚洲欧美一区麻豆 | 强奷乱码欧妇女中文字幕熟女 | 渔夫床满艳史bd高清在线直播 | 精品国产mmd在线观看 | 午夜看片福利在线观看 | nxgx69日本护士 | 双性被疯狂灌满精NP | 国产a级午夜毛片 | 色橹橹欧美在线观看视频高清 | 嫩小幼处在线 | 午夜伦伦电影理论片费看 | 国产精品久久久久久久久齐齐 | 国内精品蜜汁乔依琳视频 | 日本伦子欲 | WWW婷婷AV久久久影片 | 男人狂躁进女人免费视频公交 | 古风一女N男到处做高H | 最新中文字幕在线视频 | 皮皮在线精品亚洲 | 亚洲精品久久久久无码AV片软件 | 人妻插B视频一区二区三区 人妻 中文无码 中出 | 日本久久精品免视看国产成人 | 亚洲精品国产AV成人毛片 | 河南老太XXXXXHD | 色综合久久88色综合天天提莫 | 午夜性色一区二区三区不卡视频 | 国产毛A片啊久久久久久A | 男人J桶女人P视频无遮挡网站 | 日本黄色网站在线观看 | 国产亚洲精品久久久久久久软件 | 久久九九精品国产自在现线拍 | 青柠在线观看免费高清电视剧荣耀 | 九色91精品国产网站 | 无遮18禁在线永久免费观看挡 | 中文无码热在线视频 | 亚洲 自拍 偷拍 另类综合图区 | 女人张开腿让男人添 | 色欲精品久久人妻AV中文字幕 | 午夜片神马影院福利 | 久久精品视在线观看85 | bl被教练啪到哭H玉势 |