类库,Dll,Nuget包,类与命名空间


1.类(Class)

是什么?

  类是C#语言中的一种基本结构,是对象的蓝图或模板。它定义了对象的数据(字段或属性)和行为(方法)。

为什么需要?

  • 支持面向对象编程(OOP),其次代码组织和重用。
  • 模拟现实世界的实体和行为。
  • 支持继承、多态、封装等特性。
  • 封装操作细节。

2.命名空间(Namespace)

是什么?

逻辑上的代码组织容器(类似文件系统的文件夹),用来对类、接口、枚举、委托等代码元素进行逻辑分组的机制。

为什么需要:

  ①避免命名冲突

  • System.Timers.Timer – 服务器定时器,用于服务器端应用程序
  • System.Threading.Timer – 线程定时器,用于多线程环境
  • System.Windows.Forms.Timer – Windows Forms定时器,用于UI应用程序
  • System.Web.UI.Timer – ASP.NET定时器

  ②提供层次化结构(Microsoft.Data.SqlClient)

3.DLL(动态链接库)

是什么?

  DLL(Dynamic Link Library)是Windows平台上的一种可执行的二进制文件格式,扩展名为.dll。在.NET里,类库通常被编译为DLL文件

  注意,.NET的DLL注明是“托管程序集”,包含中间语言(IL)代码,不一定只能在Windows上使用。

为社么需要?

  • 支持程序和类库之间的代码共享。
  • 同时加载,提高内存利用率。
  • 支持多语言互相操作。

4.类库(Class Library)

是什么?

  • 类库是指一组可复用的代码集合,通常以一个或多个类、接口、方法、属性等形式被组织起来。
  • 类库通常被编译成.dll文件,供其他项目引用和调用。

为什么需要?

  • 实现代码复用,减少重复劳动。
  • 实行分层、分层开发。
  • 方便多人协作与维护。

5.Nuget包

是什么?

  Nuget包是.NET生态下的类库分发单元,扩展名是.nupkg,本质上是一个压缩文件,里面包含.nupkg编号的DLL,文件如XML文档、依赖说明,配置等,以及元数据(版本、作者、依赖等)

为什么需要?

  • 方便分发和复用第三方库。
  • 通过包管理工具自动管理依赖。
  • 支持版本管理和升级。

6.类库、DLL和Nuget包之间的关系