为什么名称空间类型不应该依赖于嵌套的名称空间类型?

bcs*_*hes 8 c# namespaces

在.Net命名指南(http://msdn.microsoft.com/en-us/library/893ke618(v=vs.71).aspx)中有这样的声明:

"嵌套命名空间应该依赖于包含命名空间中的类型.例如,System.Web.UI.Design中的类依赖于System.Web.UI中的类.但是,System.Web.UI中的类不依赖于System.Web.UI.Design中的类."

我想知道为什么?

Onl*_*ere 6

因为当你考虑它时它是有道理的.

让我用一个小例子来解释一下:

一个刀片式例如需要一个手柄为它是一个"刀".

但手柄不需要刀片作为手柄,对吗?

using KitchenSet;
using KitchenSet.Knives; // This is where your knives (what uses Blades) would live.
using KitchenSet.Knives.Blades; // The actual blades. 
Run Code Online (Sandbox Code Playgroud)

  • 我的风格是我在`Kitchen.Knives`中有一个`Blades`基本类型(界面或抽象),然后在'Kitchen.Knives.Blades`中用于组织的所有各种实现(Butcher,Paring,Butter). (5认同)