传统智慧说不要从父级调用子命名空间。
假设我正在使用AutoMapper之类的工具将内容模型转换为 ASP.NET MVC 3 站点的视图模型。
我的目录结构类似于:
- Stuff.Content
-Foo.cs
- Stuff.Content.Public
-Controllers
-FooController.cs
-Models
-FooViewModel.cs
-Views
-Foo
-Index.cshtml
- AutoMapperConfig.cs
- Global.asax
在这种情况下, AutoMapperConfig.cs只是一个简单的静态类,带有一个静态方法来设置映射,如下所示:
public static class AutoMapperConfig
{
public static void Configure()
{
Mapper.CreateMap<Foo, FooViewModel>();
}
}
您会注意到我在公共项目的根目录中有AutoMapperConfig ,但它实际上调用了子命名空间 ( Stuff.Content.Public.Models )。
调用该子命名空间是否可以接受?AutoMapperConfig是否应该与视图模型一起存在于Models命名空间中?
看起来它在这个领域变得模糊,因为控制器命名空间中的控制器调用其兄弟模型命名空间被认为是正常的。
期待你的想法。谢谢。