Frameworks 依赖项应该在名称空间树中向上还是向下移动?

Frameworks 依赖项应该在名称空间树中向上还是向下移动?,frameworks,namespaces,Frameworks,Namespaces,在一个框架中,类依赖关系应该沿着一个名称空间(从根到叶)运行,还是沿着一个名称空间运行(将其视为根位于顶部的倒树) 我很难描述这一点,所以让我们看一个例子: namespace foo { class snafu : fubar {} } namespace foo.bar { class tarfu : snafu {} class fubar {} } 在这种情况下,类tarfu对snafu具有基类依赖性。依赖项沿着名称空间树向上移动。类snafu对fubar具有基类依赖关

在一个框架中,类依赖关系应该沿着一个名称空间(从根到叶)运行,还是沿着一个名称空间运行(将其视为根位于顶部的倒树)

我很难描述这一点,所以让我们看一个例子:

namespace foo
{
  class snafu : fubar {}
}

namespace foo.bar
{
  class tarfu : snafu {}

  class fubar {}
}
在这种情况下,类
tarfu
snafu
具有基类依赖性。依赖项沿着名称空间树向上移动。类
snafu
fubar
具有基类依赖关系。依赖项沿着名称空间树向下移动

依赖项应该只在名称空间树上遍历吗?还是应该反过来?为什么这很重要


我是在.NET中开发的,但是如果它与其他平台不同,我也有兴趣了解它们。

既然您使用的是.NET,我强烈建议您符合.NET框架的惯例。这将使您的代码与框架保持一致

这意味着你应该这样做:

namespace First
{
    class Parent { }
}

namespace First.Second
{
    class Child : First.Parent { }
}
为了澄清这一点,做什么并不重要,因为C#编译器只是简单地将所有名称空间附加到类型名,以创建一个更长的更可能是唯一的类型。这就是为什么我认为最好避免混淆,坚持传统