2013-06-05 32 views
5

我是一個MVC網頁開發人員,他對函數式編程非常感興趣,可以編寫Web應用程序(具體來說,我被Erlang和Cowboy迷住了。)什麼取代了函數式編程中的MVC模式?

我無法找到/ resources上的答案是用什麼樣的模式來取代FP中的MVC。

很明顯,在ORM中ORM的概念很可笑,因爲它不是面向對象的,所以用什麼來代替持久性邏輯呢?建立一個使用庫來創建與數據存儲接口的函數的模塊或者是否有類似於ORM的工具通常是?

建議和資源鏈接將不勝感激。 Erlang/Cowboy特別幫助的獎勵積分。謝謝。

+0

[這個問題](http://stackoverflow.com/questions/327955/does-functional-programming-replace-gof-design-patterns)借給我一些幫助,理解爲什麼這個答案似乎缺失,但我仍然對來自FP經驗豐富的人員的建議感興趣,特定於ORM類型的工作。 – iliveinapark

+0

看看[用Scala.React去棄用觀察者模式](http://infoscience.epfl.ch/record/176887)。 – lukstafi

回答

4

有Erlang的MVC框架。例如ChicagoBoss。

+0

謝謝mate。我看了一下ChicagoBoss,並且認爲我寧願選擇像牛仔或WebMachine這樣的瘦身產品。我意識到這意味着ORM等價物沒有出現,但我試圖弄清楚FPer如何在沒有ORM的情況下執行它。 – iliveinapark

+0

你可能想看看http://nitrogenproject.com/ - 它不是MVC(它是使用Erlang模式匹配進行事件驅動的)。我發現它重量輕,開發週期快。順便說一句,在Erlang中需要類ORM工具,因爲像Mnesia這樣的數據庫允許將條件存儲在數據庫中並作爲條件回讀,即不需要** _映射_ **或轉換層,因爲沒有任何東西翻譯。 –

0

IM Erlang的編碼器。我使用erlang爲我的網頁遊戲服務器... 所以...有沒有查看..在功能luangues這是沒有模型...所以從我的角度來看,功能luangues沒有需要的MVC (就像無類或子類在功能luangues ..)

3

通過@yarivs從article報價:

二郎神確實履行其重量在MVC的所有字母。對於模型,忘記數據庫抽象層:你有一個叫做Mnesia的純Erlang分佈式數據庫。查看,Yaws有ehtml。對於控制器,Yaws具有appmods和Erlang的模式匹配。

我希望這會有所幫助。