一.什麼是模組封裝
模組封裝最直接的形式是類庫,但是類庫不是模組封裝的唯一形式,我們將實現某些職能的**以類庫的形式封裝起來,就可以達到模組封裝的目的,我們以設計乙個計算器為例:
caldll是實現計算的類庫
using在winform窗體中,我們呼叫實現計算的類庫,達到計算的目的:system;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
caldll
public
double add(double a, double
b) }}
using程式執行結果如下:system;
using
system.collections.generic;
using
system.componentmodel;
using
system.data;
using
system.drawing;
using
system.linq;
using
system.text;
using
system.windows.forms;
using
caldll;
namespace
caldemo
private
void btncal_click(object
sender, eventargs e)}}
二.什麼是程式集
程式集是應用程式的部署單元,.net應用程式包含乙個或多個程式集。通常副檔名是exe或dll 的.net可執行程式稱為程式集。千萬不要將程式集簡單的理解為dll檔案,這種想法是錯誤的。
下圖表示的程式集的邏輯架構:
//有關程式集的常規資訊通過以下
//特性集控制。更改這些特性值可修改
//與程式集關聯的資訊。
[assembly: assemblytitle("
caldemo
")]
[assembly: assemblydescription(""
)][assembly: assemblyconfiguration(""
)][assembly: assemblycompany(""
)][assembly: assemblyproduct(""
)]"")]
[assembly: assemblytrademark(
"")]
[assembly: assemblyculture(
"")]
//將 comvisible 設定為 false 使此程式集中的型別
//對 com 元件不可見。 如果需要從 com 訪問此程式集中的型別,
//則將該型別上的 comvisible 特性設定為 true。
[assembly: comvisible(false
)]//
如果此專案向 com 公開,則下列 guid 用於型別庫的 id
[assembly: guid("
b9d17b02-0550-4197-b5d5-92d40c4d4254")]
//程式集的版本資訊由下面四個值組成:
////
主版本//
次版本
//生成號
//修訂號
////
可以指定所有這些值,也可以使用「生成號」和「修訂號」的預設值,
//方法是按如下所示使用「*」:
//[assembly: assemblyversion("1.0.*")]
[assembly: assemblyversion("
1.0.0.0")]
[assembly: assemblyfileversion(
"1.0.0.0
")]
C 託管模組與程式集
當寫好了c 的源 後,c 編譯器會把源 編譯成乙個託管模組而非最終的機器語言。這個涉及到clr的相關功能,因為clr就是為了將不同的語言編寫 例如c vb 出來的源 可以更好地在不同平台使用,而不是針對某一種架構cpu進行編譯。編譯器編譯出託管模組後,最終通過jit編譯器動態實時編譯託管模組中的il...
小程式的網路模組封裝
在根目錄下建立env目錄,建立index.js配置並匯出多個開發環境 module.exports 測試環境 test 生產環境 prod 然後我一般會在根目錄下建立乙個http資料夾,在裡面建立3個js檔案來進行封裝,分別是api,fetch,http。在api.js中統一管理,請求的url位址 ...
程式集,模組, 應用程式域,全域性程式集快取
1 私有程式集 我們通常用到的就是私有程式集。這種情況下,我們建立本地應用程式專案 或元件 編譯後就生成dll或exe型別的私有程式程式集。當我們在其他客戶應用程式中使用這類程式集時,只需要新增引用。當這樣的程式集被多個應用程式域使用時,每個應用程式域需要複製該程式集,程序中也將存在該程式集的多個副...