2011-05-18 41 views
8

我正在爲合同的新項目工作。通常我會使用c#asp.net和剃鬚刀。問題是,我的投資組合說。 C#C#C#C#反覆。我認爲組合是明智的,可能會有更多的多樣性。另一方面,功能性語言似乎是一種有趣的方法,因爲就控制器而言,asp.net MVC3非常注重功能。那麼,有沒有人嘗試過使用F#來做這件事,並且它變成了有用的東西,或者只是阻礙了它?我應該嘗試使用MVC3和ASP.net的F#嗎?

我問,因爲控制器似乎受益於功能,而模型似乎受益於面向對象的語言。

+0

嘗試在你的業餘時間作爲業餘愛好項目。如果你正在爲客戶工作,請不要嘗試它! – 2011-05-18 22:51:56

+0

我並不是很擔心學習曲線,抱歉應該提到。從我看到的語言來看,這個語言非常簡單。我只是說從設計的角度來看它有什麼優點。 – brandon 2011-05-18 22:55:18

回答

9

我寫了使用MVC3與F#和C#的混合的一些例子,它工作得很好,我也創建了一個可以作爲一個起點(這會很快出現在Visual Studio庫)的模板:

大約有使用F#模型/控制器實現的一些好東西:

  • F#類型蘇CH作爲記錄使它很容易實現的域模型
  • 您還可以使用F#異步工作流來實現異步控制器(見this snippet

稍微煩人的事情是,在當前版本的LINQ支持的F#有點有限(編寫複雜的查詢有很多連接和分組是不容易的)。但是,如果您調用存儲過程,則可以很好地使用動態操作符(例如,參見this blog post)。

(我也寫了一些有關此文章,尚未公佈 - 如果你給我發電子郵件在[email protected]我可以給你一個草案)

+0

完美,謝謝 – brandon 2011-05-18 23:41:45