我正在研究一个新的合同项目.通常我会使用c#asp.net和razor.问题是,我的投资组合说. C#C#C#C#一遍又一遍.我认为投资组合明智,可能会有所帮助.另一方面,功能语言似乎是一种有趣的方法,因为就控制器而言,asp.net MVC3非常注重功能.那么,有没有人试过使用F#来做这个并且结果是有用的还是只是让路?
我问,因为控制器似乎从功能上受益,而模型似乎受益于面向对象的语言.
解决方法
我写了一些使用混合了F#和C#的MVC3的例子,它运行得很好,我还创建了一个可以作为起点的模板(很快就会出现在Visual Studio Gallery中):
在模型/控制器的实现中使用F#有一些好处:
> F#类型(如记录)使得实现域模型变得非常容易
>您还可以使用F#异步工作流来实现异步控制器(请参阅this snippet)
一个有点恼人的事情是,当前版本的F#对LINQ的支持有点受限(编写带有大量连接和分组的复杂查询并不容易).但是,如果您正在调用存储过程,则可以很好地使用动态运算符(请参阅例如this blog post).