我应该尝试使用MVC3和ASP.net的F#吗?

时间:2011-05-18 22:49:13

标签: asp.net-mvc-3 f#

我正在研究一个新的合同项目。通常我会使用c#asp.net和razor。问题是,我的投资组合说。 C#C#C#C#一遍又一遍。我认为投资组合明智,可能会有所帮助。另一方面,功能语言似乎是一种有趣的方法,因为就控制器而言,asp.net MVC3非常注重功能。那么,有没有人试过使用F#来做这个并且结果是有用的还是只是妨碍了?

我问,因为控制器似乎从功能上受益,而模型似乎从面向对象的语言中受益。

1 个答案:

答案 0 :(得分:9)

我写了一些使用混合了F#和C#的MVC3的例子,它运行得很好,我还创建了一个可以作为起点的模板(很快就会出现在Visual Studio Gallery中):

在模型/控制器的实现中使用F#有一些好处:

  • F#类型(如记录)可以很容易地实现域模型
  • 您还可以使用F#异步工作流来实现异步控制器(请参阅this snippet

有点恼人的是,当前版本的F#对LINQ的支持有点受限(编写带有大量连接和分组的复杂查询并不容易)。但是,如果您正在调用存储过程,则可以很好地使用动态运算符(请参阅示例this blog post)。

(我还写了一些关于这个尚未发布的文章 - 如果你给我发电子邮件,请发送给我们tomas@tomasp.net)