2009-11-09 31 views
1

也許我會看起來很奇怪。隨意編輯等。什麼是ASP.net在FP方面?什麼是ASP.net在FP方面?

我現在正在學習FP,感覺很困惑,因爲我無法將每天使用的技術,字面意義上的ASP.Net劃分爲FP的一些邏輯部分。

現在我對待所有的ASP.Net機器就像一個大國家monad,爲此我通常使用OnPreRender像調用ASP-net不可知的代碼點。我把aspx看成是一種元編程。 什麼是用戶控制?自定義控制?我們應該區分哪些上下文(功能環境) - http上下文?控制上下文?頁面上下文?也許我不明白像處理頁面處理程序==委託== lambda表達式? 我基本上是對的嗎?任何人都可以提出更新的觀點到ASP.Net - 尤其是經典的?

知道'web-forms-suck'沒有意義 - 我想知道我應該如何在這個特定的環境中使用FP的功能和'圖靈完備性'。

+0

請澄清以下內容...... FP代表什麼? – 2009-11-09 19:54:42

+1

@Ricardo:閱讀標籤,我相信你可以猜到! – 2009-11-09 20:00:29

回答

0

ASP.Net是一種IO monad。 monad中可用的IO操作種類是從HTTP請求中讀取並寫入HTTP響應的IO操作。

查看以純功能語言編寫的Web應用程序服務器可能很有教育意義。 Happstack完全是在Haskell中編寫的。

1

你可以這樣想,但我不確定這太有幫助。問題是ASP.Net本身不是以功能風格編寫的。

從副作用和功能構成的角度來看,寫作(以任何框架/語言)將會更加容易和有用。開始少依賴狀態(除了在你必須的ASP.Net中),而是開始考慮不可變數據,輸入和輸出。

作爲一個小例子,而不是想用修飾字符串的方式來修改字符串,而是開始使用類似String.format的函數(方法)。當嘗試將功能樣式應用到面向對象環境時,這樣的小東西將大有幫助。

要真正開始從您的FP學習中受益,請嘗試從組合和可組合性(真實詞彙)角度思考,而不是從OO層次結構和繼承的角度考慮。