模組封裝與程式集

2022-02-12 10:45:48 字數 2374 閱讀 3080

一.什麼是模組封裝

模組封裝最直接的形式是類庫,但是類庫不是模組封裝的唯一形式,我們將實現某些職能的**以類庫的形式封裝起來,就可以達到模組封裝的目的,我們以設計乙個計算器為例:

caldll是實現計算的類庫

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

namespace

caldll

public

double add(double a, double

b) }}

在winform窗體中,我們呼叫實現計算的類庫,達到計算的目的:

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型別的私有程式程式集。當我們在其他客戶應用程式中使用這類程式集時,只需要新增引用。當這樣的程式集被多個應用程式域使用時,每個應用程式域需要複製該程式集,程序中也將存在該程式集的多個副...