我有这个:
SolutionName:Foo.sln
大会: Foo.Bar
命名空间是:
Foo.Bar.Views
Foo.Bar.Model
Foo.Bar.BusinessObjects
Foo.Bar.Services
目录结构应该是这样吗?
__Foo/Foo.Bar/Foo.Bar.View__ or __Foo/Bar/View__
答案 0 :(得分:1)
如果保留“自动命名空间”的Visual Studio选项,则需要具有Foo / Bar / Views。由于这是Visual Studio的默认行为,因此人们最常使用它。另外,它可以防止文件夹名称/路径过长。
答案 1 :(得分:1)
这完全是个人偏好。我会选择后者。
问自己一个问题,“我是否通过在子文件夹中重复Foo和Bar来添加任何有用的信息?”在我看来,这里的答案是否定的,仅仅因为信息是多余的。你也创造了一个维护问题;如果你需要重命名Bar,你现在必须重命名Foo.Bar,Foo.Bar.View,Foo.Bar.Model ......
答案 2 :(得分:0)
嗯,它可以是你想要的任何东西。两者都是有效的,但前者可能会有点多余,导致目录层次结构在眼睛上有点难度/禁止。
答案 3 :(得分:0)
Foo / Bar / View似乎很自然。此外,MSVS倾向于将解决方案文件夹映射到命名空间(即,如果将Abc文件夹添加到解决方案中,则添加到此文件夹的每个类都将位于root_namespace.Abc命名空间中)
答案 4 :(得分:0)
Foo / Bar / View似乎是更好的选择,如果将单个文件命名为单个类型(例如Foo.Bar.View.IView => Foo / Bar / View / IView.cs),则更多。
这是一个很好的模式,可以更轻松地查找类型,编写源代码,执行某些指标等。