Asp.net mvc “是什么意思?”;公约“;在这种情况下?

Asp.net mvc “是什么意思?”;公约“;在这种情况下?,asp.net-mvc,Asp.net Mvc,我最近读了哈迪·哈里里的这篇博文:。Hadi调查了ASP.NET MVC开发人员在应用程序中使用的模型类型。他的一个调查问题是: 若您绑定到域模型,那个么如何处理额外的数据,比如国家列表 一个人写了“选择另一个”并写了“约定”。接着,哈迪写道: 事实上,我已经找到了另一种解决这个问题的方法,部分基于惯例 后来又说: 也许我们应该更认真地对待约定的概念,而不仅仅是视图、控制器和模型所在的文件夹。也许我们应该把惯例推到极限,看看我们是否真的减少了这种摩擦 他用“约定”来解决这个问题是什么意思?在这种

我最近读了哈迪·哈里里的这篇博文:。Hadi调查了ASP.NET MVC开发人员在应用程序中使用的模型类型。他的一个调查问题是:

若您绑定到域模型,那个么如何处理额外的数据,比如国家列表

一个人写了“选择另一个”并写了“约定”。接着,哈迪写道:

事实上,我已经找到了另一种解决这个问题的方法,部分基于惯例

后来又说:

也许我们应该更认真地对待约定的概念,而不仅仅是视图、控制器和模型所在的文件夹。也许我们应该把惯例推到极限,看看我们是否真的减少了这种摩擦

他用“约定”来解决这个问题是什么意思?在这种情况下,我不熟悉这个词


谢谢

在这种情况下,惯例可能意味着很多事情。松散地说,它只是一个解决问题的方法,它不是内置的,而是使用名称查找的

MVC中已有的一个例子是,到名为“Home”的控制器的路由映射到名为“HomeController”的类。将此想法扩展到选定的国家和国家列表问题,您可以想出许多解决方案

一个例子是一个模型:

public class UploadModel 
{
  public string Country {get; set;}
}
我们可以通过命名约定来定义此模型的选项,在命名约定中,它查找名称后带有单词“options”的模型,然后将模型上的属性与选项模型上的同名属性相匹配

public class UploadModelOptions 
{
  public IList<string> Country {get;set;}
}
公共类上载模型选项
{
公共IList国家{get;set;}
}
这可能不是一个伟大的惯例,但却是作者可能正在谈论的一个可接受的例子