问题标签 [namespace-organisation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
448 浏览

xml - 格式化 XML 命名空间的准则

我还没有开发公开面向 Internet 的 Web 服务应用程序。当我开始考虑向广大受众公开模式定义的问题时,我认为应该花一定的时间来正确格式化模式名称空间。

是否有人遇到过指导文档,该文档建议如何为组织的 XML 模式标准化名称空间格式?

诸如使用 FQDN 与路径http://schemas.organisation.com/http://organisation.com/schemas

包含版本路径的样式http://organisation.com/schemas/submissions/2006http://organisation.com/schemas/submissions/v1

按日期或主题组织http://organisation.com/schemas/2006/submissions/ vs http://organisation.com/schemas/submissions/2006

等等

2010 年 1 月 12 日更新:再次重新审视这个问题时,我觉得它应该只是 wiki,因为如果真的有任何书面论文,就不可能有正确的答案。

0 投票
2 回答
435 浏览

model-view-controller - MVC 命名空间组织

希望 SO 社区可以帮助解决办公室中的辩论。目前我们的结论是“视情况而定”!

在 MVC 中,如何组织命名空间?

选项 A

您是否遵循拥有模型、控制器和视图命名空间的 MS ASP.NET MVC 路线?

选项 B

或者你是否将每个 MVC 三元组分成它的逻辑“功能”,例如:

特征 A

  • 特征模型
  • 特征控制器
  • 类型
    • IFeatureAView(接口 - 使控制器不引用具体视图)
  • 看法
    • FeatureAView(具体)

我们可以看到两者的重点。我喜欢选项 B,因为它更好地构建了我在工作室中的项目 - 一眼我就可以看到所有内容都在哪里,因为它是按功能分组的。但是,例如,如果我们希望将来将所有模型移到服务层中,选项 A 为我们提供了一个更容易扩展的选项。

欢迎所有想法!

0 投票
7 回答
2449 浏览

java - 在哪个命名空间/包中放置异常?

构建异常类位置的常见或最佳实践是什么?

假设您有包/命名空间myproject.person(用于人员的模型和 DAO)和myproject.order(用于订单的模型和 DAO)以及异常PersonExceptionOrderException. 我应该将异常放在相应的包中还是放在单独的异常包中(例如myproject.exceptions)?

第一种方法似乎更合理(因为它是按功能排序的)。但是出现了一个问题,您应该在哪里放置与两者相关的异常?例如ConstraintViolationException

0 投票
5 回答
195 浏览

namespace-organisation - 在 c# 的不同命名空间中拥有同名的类是个好主意吗?

例如,我们有两个解析简历的类,一个解析Excel,另一个解析HTML。我的同事喜欢做的就是将这两个类命名为相同的名称,并将它们放在不同的命名空间中,如下所示:

我觉得这不是一个好主意,我更愿意重命名这些类,并将它们放入一个命名空间(但如果需要,可以放在不同的文件中):

因此,层次结构仍然存在于文件夹中,但命名空间是相同的(不完全匹配文件夹层次结构),可以吗?

如果我是对的,知道如何说服我的同事吗?或者他们的解决方案有什么明显的缺点?

谢谢。

0 投票
1 回答
314 浏览

.net - 首选命名空间命名约定

我最近重构了一个中型应用程序,其中一项工作是将常用代码拆分到不同的项目中。

现在,假设常用的命名空间结构是

Core.Interfaces- 对于具有接口的主应用程序IFoo

对于每个专门/外部/引用的程序集,我决定对其进行扩展,例如

Core.Interfaces.Html 有一个接口IBar

主应用程序的Core程序集位于一个名为Core默认命名空间的项目中,Core而对于Html程序集,我创建了HtmlCore一个默认命名空间为Core.

结果效果(以及我选择这种特定方法的原因)是,一旦您引用了Html程序集,using就不必更新语句,净效果是

或使用上面的 using 语句Core.Interfaces转换为

这种隐式命名空间结构是依赖关系的直接结果,它确实为我们提供了很好的服务,因为它使项目命名空间维护变得更加容易,并且唯一需要的就是对程序集的引用。该结构类似于微软已经在 .net 框架上所做的。

问题是我有第二个想法,并且(对于未来的项目)我正在考虑一个对每个程序集都明确的命名空间结构,例如:

那么,有没有人使用过显式结构,甚至是我没有尝试过的其他东西?我愿意接受建议,我正在寻找最佳解决方案,因为目标是在开发过程中从维护和团队混乱中腾出时间。

0 投票
4 回答
5995 浏览

c++ - (C++) 与命名空间链接导致重复符号错误

在过去的几天里,我一直在试图弄清楚如何为我一直在从事的 CLI 游戏项目链接文件。该项目有两部分,客户端和服务器代码。

客户需要我制作的两个库。第一个是通用游戏板。这在 GameEngine.h 和 GameEngine.cpp 之间进行拆分。头文件看起来像这样

而 CPP 文件只是提供所有内容

客户端还有游戏专用代码(在本例中为井字棋),分为声明和定义(TTT.h、Client.cpp)。TTT.h 基本上是

我决定把它放在一个命名空间中,而不是一个类,因为有些部分在 OOP 中不能很好地工作,而且以​​后实现起来要容易得多。

我过去在链接客户端时遇到了麻烦,但这个设置似乎有效。

我的服务器也分为两个文件,Server.h 和 Server.cpp。

Server.h 包含以下内容:

在 CPP 文件中,我包含 Server.h 并提供 main() 和之前声明的所有函数的内容。

现在到手头的问题, 我在链接我的服务器时遇到了问题。更具体地说,对于 nsTicTacToe 中的每个变量(也可能在 gfdGaming 中),我得到一个重复的符号错误。由于我需要井字游戏功能,我在构建服务器时链接了 Client.cpp (没有 main() )

本质上,我正在寻找有关如何更好地组织我的代码以希望修复这些错误的任何建议。

免责声明: -如果我提供的信息过多或过少,我提前道歉,因为这是我第一次发帖

-我尝试使用静态和外部来解决这些问题,但显然这些不是我需要的

感谢任何花时间阅读所有这些并做出回应的人=)

0 投票
2 回答
451 浏览

c# - header - 类似于 C# 中的文件

有没有办法使用命名空间在 C# 中“伪造”头文件?据我所知,没有办法获得他们在 C++ 中提供的预处理;但我更喜欢它的组织方面,而不是在命名空间中包装类并依靠 IDE 来告诉.

例如(注意不正确的语法)假设

其中 ns1.cs 的内容是:

0 投票
1 回答
2291 浏览

function - YUI3、模块、命名空间、调用函数

我想将 javascript 代码从我的页面移植到 YUI3。在阅读了这里的许多帖子(问题和答案)以及 YUI3 页面和教程中的大量信息之后,我得出的结论是,最好的方法是将代码拆分为模块,因为它允许我动态加载脚本仅在需要时。

我想将代码组织在不同的子模块中,这些子模块应该由核心模块加载和管理(如果需要)。

我想我已经了解如何动态地加载它们,但我现在遇到的问题是我并不总是能够在一个模块内调用公共方法并将一个模块形成另一个模块。有时它有效,但有时我会收到消息xxx is not a function

可能问题是我不明白如何设置全局命名空间(例如MyApp)并在该命名空间内“播放”。

我希望能够通过以下方式调用方法:MyApp.Tabs.detectTabs()......来自主模块(MyApp.Core)的方法和来自同一个子模块(MyApp.Tabs)的方法。

这是我的代码的结构:

内联javascript:

模块:核心
文件:http ://www.myapp.com/scripts/Core.js

子模块:标签
文件:http ://www.myapp.com/scripts/Tabs.js

我应该在哪里定义全局变量,命名空间......?我应该如何调用函数?

提前致谢!

-- 奥里奥尔 --

0 投票
1 回答
595 浏览

.net - 将我的类/接口安排/组织到文件夹中?不使用文件夹更改命名空间(Resharper:命名空间提供程序 = false)

我目前有一个项目,其规模每天都在增加。它是我提供的 api 的容器。

我目前在根目录中拥有我的所有类和所有接口。

我已将我的 Enums、Contants 等分隔到它们自己的文件夹中,但我不继承该文件夹作为命名空间的一部分,它们只是保持它们整洁的容器。

我想知道是否有人在这里有任何经验?

我是否也应该将我的接口分离到他们自己的文件夹中(不继承文件夹作为命名空间的一部分)

我也应该分开上课吗?

我也有其他类的子类.. 即一个类将它作为一个属性来实现。因此它永远不会在外部实例化。那么我是否应该进一步将它们分开并放置(例如)一个名为“Products”的文件夹,在这个文件夹中我会有我的产品类,然后是我的项目类和其他特定于产品的类?

同样,使用文件夹作为一种分离方式,而不是将文件夹名称作为命名空间的一部分继承。

我很想听听一些反馈。

谢谢

0 投票
2 回答
131 浏览

winforms - Winform 应用程序中的条件命名空间

我想知道在我的项目中定义名称空间的更好方法。我们有 2 个不同的 winform 项目,并且我们在两个项目中都使用了某些代码文件和表单。所以项目1和2的结构如下:

所以在这里,类 C1(在命名空间 common_fun 下)是两个项目中使用的共享文件。但是,我们需要调用类 C2 的方法 M2,并且为了调用该方法,我们需要在顶部编写条件 using 语句。IE

所以我的问题是有没有更好的方法来包含公共文件的命名空间?将来可能会有 3-4 个项目使用相同的类/表单。

谢谢。