我最近阅读了哈迪哈里里的这篇博客文章:That dreaded M in ASP.NET MVC。 Hadi调查了ASP.NET MVC的开发人员,了解他们在应用程序中使用的模型类型。他的一个调查问题是:
如果您绑定到域模型,您如何处理国家/地区列表等额外数据?
一个人写了选择其他并写道:“约定。”之后,哈迪写道:
我实际上找到了解决这个问题的另一种方法,部分基于惯例。
然后说:
也许我们应该更严肃地对待约定的概念,而不仅仅是我们的视图,控制器和模型所在的文件夹。也许我们应该将约定推到极限,看看我们是否真的减少了这种摩擦。
使用“约定”来解决这个问题他是什么意思?我不熟悉这个术语。
由于
答案 0 :(得分:1)
在这种情况下的公约可能意味着许多事情。松散地它只是一个解决方案,不是内置的,而是使用名称查找。
MVC中的一个示例是,名为“Home”的控制器的路由映射到名为“HomeController”的类。将这个想法扩展到选定的国家和国家/地区列表问题,您可以想到许多解决方案。
一个例子将给出一个模型:
public class UploadModel
{
public string Country {get; set;}
}
我们可以通过命名约定来定义此模型的选项,在该命名中,它查找名称后面带有“选项”一词的模型,然后将模型上的属性与选项模型上的类似命名属性进行匹配。 / p>
public class UploadModelOptions
{
public IList<string> Country {get;set;}
}
这可能不是一个很好的惯例,但却是作者可能会谈论的一个可接受的例子。