1

我试图弄清楚在从大量实现代码中创建公共 API 时如何正确使用命名空间。

我正在编写一个 API,以便在我公司创建的所有代码上展示一个友好的公众形象,以便解决我们最常用的框架中的问题。

我的新项目的根命名空间称为“FrameworkSDK”。

在 FrameworkSDK 下,我有 FrameworkSDK.CompanyNameLibrary,这是我公司创建的所有实现代码所在的位置。

我正在尝试编写 PublicFacingAPI,理想情况下它会在 FrameworkSDK.CompanyNameLibrary 之上放置一个漂亮的面孔,以便新开发人员可以立即开始使用它等。

我应该将新的 PublicFacingAPIcode 放在哪个命名空间中?

它应该放在 FrameworkSDK.CompanyNameLibrary.PublicFacingAPI 中吗?那么每当开发者导入这个 dll 时,那将是一个荒谬的 using 语句。

我可以将代码放在 FrameworkSDK 命名空间中,但是我的所有公共类都需要包含使用 FrameworkSDK.CompanyNameLibrary 或使用 FrameworkSDK.CompanyNameLibrary.SubNameSpace 的 using 语句。

这段代码应该去哪里?

谢谢

4

2 回答 2

1

我不觉得 SDK.CompanyNameLibrary.CompanyInternalAPI 如此荒谬。它有点长,但它是描述性的,任何使用 dll 的人都会确切地知道他们得到了什么。

于 2012-09-18T18:32:21.003 回答
1

我不明白为什么您需要为面向公众的部分使用不同的命名空间。尽可能让一切变得友好,对于真正应该隐藏的部分,将它们保留为内部类型。

然后我会删除“SDK”部分,并更改为:

CompanyName.BclPlusPlus

或一些类似的项目名称,给人以增强核心 .NET 框架的印象。我肯定会将公司名称分离为“根”。

于 2012-09-18T18:41:18.740 回答