在.NET中使用自定义约定

.NET设计者将约定优于配置方法用于不同的地方以避免过多的配置。虽然默认的约定有利于快速启动和运行,但有的时候改变默认的行为可能会更实用。我们看看来几个例子。

在一次性约定的情况下,通常是明确地设置配置信息,但如果想要改变这些配置时该怎么做?以下的做法可供参考:

  • Dino Esposito展示了ASP.NET MVC Controller中是如何进行约定的,以及如何去修改它们。
  • 还可以使用一个自定义的视图引擎,在ASP.NET MVC View中修改约定。
  • 用于Entity Framework CodeFirst的几个约定,如自动地将属性映射到ID列,以及将类映射到表。这些均能被修改。

我们之前也曾讨论过ASP.NET MVC的扩展点,其中提到通过其他方式来实现自己的约定。

该方法也可以与一些第三方类库联合使用。例如:

  • FluentNHibernate公约允许NHibernate自动映射的约定被改变。
  • 诸如Castle-Windsor这样的IoC容器,支持自动注册。可以通过自动注册的方式随时对约定进行修改或添加。

在辨别什么时候坚持使用默认的约定,什么时候不使用是一个判断力的问题。在适当的地方使用自定义的约定绝对可以让你的代码更易于维护。

查看英文原文:Using Custom Conventions In .NET

感谢贾国清对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(在.NET中使用自定义约定)