Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > .Net框架下的命名准则--命名空间的名称
【标  题】:.Net框架下的命名准则--命名空间的名称
【关键字】:.Net,--
【来  源】:http://blog.csdn.net/wendy1001/archive/2006/08/16/1074338.aspx

.Net框架下的命名准则--命名空间的名称

Your Ad Here

如果选择的命名空间或类型的名称与现有名称冲突,则库的用户将不得不对受影响的项的引用进行限定。在大多数开发情况中,都不应出现这种问题。

本节提供的某些准则适用于下面的命名空间类别:

  • 应用程序模型命名空间

  • 基础结构命名空间

  • 核心命名空间

  • 技术命名空间组

应用程序模型中的命名空间提供特定于应用程序中的某个类的功能集。例如,System.Windows.Forms 命名空间中的类型提供编写 Windows 窗体客户端应用程序所需的功能。System.Web 命名空间中的类型支持编写基于 Web 的服务器应用程序。通常,在同一应用程序中不会使用不同应用程序模型中的命名空间,因此,这降低了名称冲突影响使用您的库的开发人员的可能性。

基础结构应用程序提供专门的支持,很少在程序代码中进行引用。例如,程序开发工具所使用的 *.Designer 命名空间中的类型。*.Permissions 命名空间是基础结构命名空间的另一个示例。与基础结构命名空间中的类型的名称冲突不可能影响使用您的库的开发人员。

核心命名空间是 System.* 命名空间(不包括应用程序命名空间和基础结构命名空间)。SystemSystem.Text 都是核心命名空间的示例。应尽可能避免与核心命名空间中的类型发生名称冲突。

属于特定技术的命名空间将具有相同的第一和第二级标识符 (Company.technology.*)。应避免在技术命名空间中出现名称冲突。

命名空间一般准则

不要引入宽泛的类型名称,如 Element、Node、Log 和 Message。在通常情况下,这样极可能导致类型名称冲突。应对宽泛的类型名称进行限定(例如 FormElement、XmlNode EventLog、SoapMessage)。

应用程序命名空间准则

不要在单个应用程序模型内为命名空间中的多个类型指定相同的名称。

例如,如果要编写 Windows 窗体应用程序开发人员要使用的特殊控件库,则不应引入名为 Checkbox 的类型,因为该应用程序模型已存在同名类型 (CheckBox)。

核心命名空间准则

不要指定会与核心命名空间中的任何类型发生冲突的类型名称。

例如,不要使用 Directory 作为类型名称,因为这会与 Directory 类型冲突。

技术命名空间准则

不要分配会与单个技术命名空间内的其他类型发生冲突的类型名称。

不要引入会导致技术命名空间的类型与应用程序模型命名空间中的类型发生冲突的类型名称(除非该技术不用于该应用程序模型)。

部分版权所有 2005 Microsoft Corporation。保留所有权利。

部分版权所有 Addison-Wesley Corporation。保留所有权利。

有关设计指南的更多信息,请参见 Krzysztof Cwalina 和 Brad Abrams 编著、Addison-Wesley 于 2005 年出版的“Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries”(《框架设计指南:可重用 .NET 库的约定、术语和模式》)。

请参见

.Net框架下的命名准则--类型成员的名称:【上一篇】
.Net框架下的命名准则--通用命名约定:【下一篇】
【相关文章】
  • .Net框架下的命名准则--类型成员的名称
  • .Net框架下的命名准则--参数名
  • .Net框架下的命名准则--资源的名称
  • Visual C# .NET2003语言的改变
  • 使用.NET 2.0成员资格管理的基本步骤
  • ASP.NET 中字符的格式化输出
  • Asp.Net中列表控件列表项相同的问题
  • 了解实际开发中 Hashtable 的特性原理 .NET, JAVA, PHP (之一)
  • 了解实际开发中 Hashtable 的特性原理 .NET, JAVA, PHP (之二)
  • 《设计模式》学习笔记--代理Proxy
  • 【随机文章】
  • C#对XML操作:写入一笔XML记录(1)
  • Linux下声卡的安装(ALSA)
  • 自定义浏览器控件
  • 利用VBA 处理表格
  • (原創) 程序减肥三步走
  • JBoss下采用thin driver连接 Oracle RAC方法
  • NStarfaiNet 框架的使用示例(一)
  • Setting up a PHP 5 with Apache 2 and MySQL 4.1.3
  • 披著羊皮的大野狼 - Session
  • ASCII码对照表(留备查阅)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.