【发布时间】:2012-02-11 13:52:10
【问题描述】:
我正在为我的 ASP.NET MVC 应用程序中的每个屏幕创建视图模型。我将创建视图模型的所有逻辑都放在 builder 类中。通常,将数据对象转换为视图模型有特殊的逻辑,包括聚合、过滤和排序。每个构建器都被传递一个依赖集,它是一个包含每个依赖(存储库、其他构建器等)的属性的对象。
问题是我的名字变得真的长了。依赖集通常有一个这样组成的名称:
view-model-name+Builder+DependencySet
视图模型的名称通常由您当前所在的位置和孩子组成。例如,我的系统对提供者定义进行了分类。因此,为了在一个类别下显示提供者定义,我有一个名为:
CategoryProviderDefinitionListViewModel
它看起来像这样:
public sealed class CategoryProviderDefinitionListViewModel
{
public long CategoryId { get; set; }
public string CategoryName { get; set; }
public ProviderDefinitionViewModel[] ProviderDefinitions { get; set; }
}
所以,我的建造者被称为
CategoryProviderDefinitionListViewModelBuilder
所以,我的依赖集被称为
CategoryProviderDefinitionListViewModelBuilderDependencySet
这几乎不适合整个屏幕。我可怜的手指累了。此外,有些屏幕几乎显示相同的数据,因此它们的视图模型名称几乎相同。当我浏览我的文件夹时,很难找到我正在寻找的特定视图模型类。
理想情况下,我可以将我的视图模型类组合在一起,将它们与使用它们的视图相关联。避免冲突并使名称尽可能短,同时保持它们的意义会很好。有没有人找到在这种情况下运作良好的命名约定/文件夹组织?
【问题讨论】:
标签: naming-conventions viewmodel code-organization