代码之家  ›  专栏  ›  技术社区  ›  rudnev

就FP而言,ASP.net是什么?

  •  1
  • rudnev  · 技术社区  · 15 年前

    我现在正在学习FP,感到相当困惑,因为我不能把我每天使用的技术,字面上的ASP.Net,分成一些逻辑部分的FP。

    现在我把所有的ASP.Net机器都当作一个大的状态monad,对于它我通常使用OnPreRender,就像调用ASP.Net不可知代码一样。我把aspx当作一种元编程。 什么是用户控制?自定义控件?我们应该区分哪些上下文(函数环境)-http上下文?控制上下文?页面上下文?也许我看不到像处理页处理程序==delegates==lambdas这样明显的东西?

    知道“web表单很糟糕”是没有意义的——我想知道在这个特定的环境中,我应该如何使用FP的一种强大和“图灵完整性”。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Shaun    15 年前

    你可以这样想,但我不确定这是否有帮助。问题是ASP.Net本身并不是用函数式编写的。

    开始观察事物会容易得多,也有用得多 根据副作用和功能组合(用任何框架/语言)写作。开始减少对状态的依赖(除了在ASP.Net中必须这样做),转而开始考虑不可变的数据、输入和输出。

    作为一个小例子,与其考虑用contatenation修改字符串,不如开始使用string.format之类的函数(方法)。当试图将功能样式应用于OO环境时,这样的小事情在很大程度上会有帮助。

    为了真正开始从你的FP学习中受益,试着从构图和构图的角度来思考(真词??)而不是面向对象层次结构和继承。

        2
  •  0
  •   Apocalisp    15 年前

    看看一个用纯功能性语言编写的web应用服务器可能会有教育意义。 Happstack 完全用哈斯克尔语写的。