一.什麼是模塊封裝架構
模塊封裝最直接的形式是類庫,可是類庫不是模塊封裝的惟一形式,咱們將實現某些職能的代碼以類庫的形式封裝起來,就能夠達到模塊封裝的目的,咱們以設計一個計算器爲例:ui
CalDll是實現計算的類庫this
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CalDll { public class Calculator { public int Add(int a, int b) { return a + b; } public double Add(double a, double b) { return a + b; } } }
在winform窗體中,咱們調用實現計算的類庫,達到計算的目的:spa
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 { public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } private void btnCal_Click(object sender, EventArgs e) { int num1 = Convert.ToInt32(this.txtNum1.Text.Trim()); int num2 = Convert.ToInt32(this.txtNum2.Text.Trim()); int result = new Calculator().Add(num1, num2); this.lblResult.Text = result.ToString(); } } }
程序運行結果以下:設計
二.什麼是程序集code
程序集是應用程序的部署單元,.NET應用程序包含一個或多個程序集。一般擴展名是EXE或DLL 的.NET可執行程序稱爲程序集。千萬不要將程序集簡單的理解爲Dll文件,這種想法是錯誤的。orm
下圖表示的程序集的邏輯架構:blog
程序集的相關信息能夠在Properties 中的AssemblyInfo.CS中修改:ip
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // 有關程序集的常規信息經過如下 // 特性集控制。更改這些特性值可修改 // 與程序集關聯的信息。 [assembly: AssemblyTitle("CalDemo")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("")] [assembly: AssemblyCopyright("Copyright @ ")] [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")]