【问题标题】:What is the difference between a class library and a namespace?类库和命名空间有什么区别?
【发布时间】:2012-07-10 18:00:45
【问题描述】:

类库和命名空间之间的实际区别是什么?我知道两者都用于将类、命名空间等组合在一起。谁能告诉我应该在哪种情况下使用类库以及何时创建新的命名空间。

【问题讨论】:

    标签: namespaces class-library


    【解决方案1】:

    命名空间为类提供了概念上的分离,类库提供了物理上的分离(在 Windows 中认为是独立的 dll)。

    类库在您想要封装可与其他项目共享的功能时非常有用。

    想象一下创建一个 Windows 应用程序,您将 UI 和实现类(类库)拆分为 2 个不同的项目。然后你发现你需要有一个相同的东西的网络版本。您可以只导入从 Windows 应用程序创建的类库,然后您就可以使用所有实现,只需专注于 Web UI。

    如果您在一个项目中创建了整个 Windows 应用程序,并使用命名空间将它们分开,那么这样做会很棘手而且很麻烦。 (曾经尝试过导入 exe 吗?)

    值得指出的是,类库本身可能会使用命名空间来为其中的类提供进一步的概念分离

    【讨论】:

      【解决方案2】:

      命名空间的目的是避免名称冲突。当您有数百个类时,应使用命名空间。其他指标 - 当您的代码被其他人使用并且您的姓名可能与用户代码中的姓名发生冲突时。

      另一个重要的区别是类始终是一种数据类型。您可以使用此类型定义变量。命名空间不是一种类型。您不能使用命名空间定义变量。

      【讨论】:

      • 那么您需要更具体地了解您使用的语言。
      猜你喜欢
      • 2014-09-18
      • 1970-01-01
      • 2014-08-10
      • 2019-09-13
      • 1970-01-01
      • 2011-12-10
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      相关资源
      最近更新 更多