RSS是干嘛用的呢?- -| 回首页 | 2004年索引 | - -J2EE Development without EJB动态

告别递归- -

                                      

在我目前的问题域,递归结构最常见的用途就是遍历一株对象树(例如部门树、目录树),并根据对象信息生成对应的XML。自从改进了WebWork的XSLT Result之后,这种递归程序我再也不写了,每次遇到类似的需求只要写一个映射文件描述对象字段与XML元素之间的对应关系就OK。递归是一种让我本能地反感的结构,用更类似于functional的XML binding和XSLT来解决,我觉得比递归要好看得多。
 
恶魔曾经提到另一个理当用functional的方式处理的问题:用正则表达式处理字符串。还有像数据校验这样的,不也是应该用functional的方式、用rule engine来解决吗?functional的思路确实可以写出很漂亮的程序,至少别来那么多递归。

- 作者: gigix 2004年08月23日, 星期一 11:15

Trackback

你可以使用这个链接引用该篇日志 http://publishblog.blogdriver.com/blog/tb.b?diaryID=293773

博客手拉手

回复

- 评论人:dxxlpvjt

Thu Oct 12 05:26:59 CST 2006  作者邮箱  作者Blog

edxwxwmezj[url=http://www.koolpages.com/kkjlehl/index.html]推广技巧[/url][url=http://www.koolpages.com/kkjlehl/26198047.htm]网站建设策划方案[/url][url=http://www.koolpages.com/kkjlehl/47348973.htm]引擎排名[/url][url=http://www.koolpages.com/kkjlehl/00157846.htm]网站推广mail[/url][url=http://www.koolpages.com/kkjlehl/95187597.htm]网站推广工具下载[/url][url=http://www.powow.com/oxvhseh/index.html]网站推广的方法[/url][url=http://www.powow.com/oxvhseh/80303016.htm]网站推广群发软件[/url][url=http://www.powow.com/oxvhseh/63576814.htm]网站排名榜[/url][url=http://www.powow.com/oxvhseh/46504715.htm]电子邮件群发[/url][url=http://www.powow.com/oxvhseh/90790388.htm]qq无限群发器[/url][url=http://www.pagerealm.com/qoitojq/index.html]如何建立网站[/url][url=http://www.pagerealm.com/qoitojq/40480876.htm]什么网站赚钱[/url][url=http://www.pagerealm.com/qoitojq/93765714.htm]qq消息群发工具[/url][url=http://www.pagerealm.com/qoitojq/13671137.htm]论坛自动发帖工具[/url][url=http://www.pagerealm.com/qoitojq/45301112.htm]进出口企业名录[/url]

- 评论人:kraft

Sun Apr 09 02:21:18 CST 2006  作者Blog

haha,笑死了

- 评论人:comparable

Mon Apr 04 20:48:43 CST 2005  作者邮箱  作者Blog

如果节点是不固定的呢?
要想把程序写得高级些,一些算法不可不会吧
动态!!!!!!!!

- 评论人:lookaround

Tue Sep 07 06:20:09 CST 2004  作者Blog

FP怎么会不关递归.

- 评论人:leeon

Mon Aug 30 16:25:40 CST 2004  作者Blog

我想,曾经有一个建议就是首先学一下Lisp这种语言。因为想不用递归都困难。因为根本没有迭代这种结构。所以我看了sicp,受益匪浅……

- 评论人:lichdr

Wed Aug 25 11:22:57 CST 2004  作者Blog

不?吧。我?得??很好看的呀。只是效率有??而已。

- 评论人:mit

Mon Aug 23 14:06:04 CST 2004  作者邮箱  作者Blog

gigix。我觉得你确实没有搞清楚什么叫FP。

- 评论人:匿名

Mon Aug 23 14:04:54 CST 2004  作者Blog

y

- 评论人:cy

Mon Aug 23 13:07:44 CST 2004  作者Blog

呵呵,先去研究研究什么叫functional programming languages吧:) 看一下什么叫lambda calculus, 什么叫做不动点, 不动点跟递归有什么关系,而递归在functional programming languages里边又有什么样的作用和地位, 看一下下边一段简单的ocaml的代码吧:) 
let rec power i x =
    if i = 0 then
1
    else
x*(i-1);;

评论内容: