【发布时间】:2017-06-22 20:32:34
【问题描述】:
也发布在这里,但没有真正的学术答案: why namespace types should not depend on nested namespaces types?
如果我理解正确的话,重点是Product.Business.Modules.Module 类型可以依赖于Product.Business.Product,但反过来不行,因为Product 是Module 的基础。但是,看看我的项目结构,我违反了这个准则:
namespace Product.Business
{
using Modules;
class Product
{
public IEnumerable<Module> Modules { get; }
// Module is abstract, with many different kinds defined in Modules.
}
}
但是,我想扩展这个问题。
- 我在哪里可以找到支持该指南的支持信息?
- 为什么这是不好的做法?
- 让类型依赖于具有相同包含命名空间的其他命名空间的类型是否有效? (例如
Product.Business.Security取决于Product.Business.Modules中的类型?
从某种意义上说,违反本指南会产生一种循环命名空间依赖关系,但我想更多地了解本指南的为什么,而不仅仅是笼统的陈述。我能找到的唯一其他信息来自链接的 Msdn 文章。这实际上可以显着改变类库的架构和布局。
【问题讨论】:
标签: c# namespaces design-guidelines