什么是ASP.net在FP方面?

问题描述:

也许我会看起来很奇怪。随意编辑等。什么是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

ASP.Net是一种IO monad。 monad中可用的IO操作种类是从HTTP请求中读取并写入HTTP响应的IO操作。

查看以纯功能语言编写的Web应用程序服务器可能很有教育意义。 Happstack完全是在Haskell中编写的。

你可以这样想,但我不确定这太有帮助。问题是ASP.Net本身不是以功能风格编写的。

从副作用和功能构成的角度来看,写作(以任何框架/语言)将会更加容易和有用。开始少依赖状态(除了在你必须的ASP.Net中),而是开始考虑不可变数据,输入和输出。

作为一个小例子,而不是想用修饰字符串的方式来修改字符串,而是开始使用类似String.format的函数(方法)。当尝试将功能样式应用到面向对象环境时,这样的小东西将大有帮助。

要真正开始从您的FP学习中受益,请尝试从组合和可组合性(真实词汇)角度思考,而不是从OO层次结构和继承的角度考虑。