当前位置:  开发笔记 > 开发工具 > 正文

良好的命名空间命名约定

如何解决《良好的命名空间命名约定》经验,为你挑选了2个好方法。

我正在为CRUD业务应用程序创建一个类库.业务对象(具有相关数据访问层对象)的主要"类别"是:

维护(用于在数据库中使用主表(主列表))

事件(大多数对象与真实事件有关)

搜索(显而易见)

截至目前,我的命名空间设置如下:

BusinessObjects.Maintenance.Contacts

BusinessObjects.Maintenance.Products

BusinessObjects.Maintenance.Classifications

.

BusinessObjects.Incidents.Contacts

BusinessObjects.Incidents.Products

BusinessObjects.Incidents.Classifications

.

BusinessObjects.Search.Contacts

BusinessObjects.Search.Products

BusinessObjects.Search.Classifications

.

Dal.Maintenance.Contacts

Dal.Maintenance.Products

Dal.Maintenance.Classifications

.

Dal.Incidents.Contacts

Dal.Incidents.Products

Dal.Incidents.Classifications

.

Dal.Search.Contacts

Dal.Search.Products

请注意,每个类最终都使用相同的名称.

这是好形式吗?

此命名空间约定是否会出现任何问题?对于查看/使用此代码的其他人可能有什么困惑吗?

我确实意识到在表单代码中,一个缺点是我必须使用命名空间限定所有对象.对我来说,这不是什么大问题.如果这是一个词,我通常更喜欢一点显性.



1> Ovi Tisler..:

无论如何,对我来说似乎还不错.我会远离缩写,这会让人感到困惑,迫使人们必须知道缩写或查找它们.他们变得难以理解和无法形容.

"Lets take a look at the BusObjConfIntContYYYYmmdd package now..."

您可能遇到的一个问题是具有细微差别的名称.由于名字的长度可能是一个问题,你的眼睛可能会掩盖整个事物,只选择其中的一部分.会不会出现这种情况?:

BusinessObjects.Incidents.Classifications
BusinessObjects.Classifications.Incidents

要么

BusinessObjects.Forms.ProjectManager.Exportable.Windows.XP
BusinessObjects.Forms.ProductManager.Exportable.Windows.XP

这个人为的例子可能会成为一个问题.



2> Brian Dilley..:

在实现任何特定模式之后,而不是它们所属的业务或功能域,通常不会命名您的包.

即:

Org.MyCompany.BusinessObjects.Maintenance.Contacts
Org.MyCompany.BusinessObjects.Incidents.Contacts
Org.MyCompany.BusinessObjects.Search.Contacts

代替:

Org.MyCompany.Contacts

其中包含类/接口/对象/对"联系人"执行操作的任何内容.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有