文件问题

08-10-14 colingo
我遇到一个问题,要动态生成一个小的xml文件,但是又不想让它存在硬盘上,因为只想用一下,就不需要了,有什么好的解决方法。

banq
2008-10-14 09:33
XML和文件要分离,就像对象和数据库要分离一样。你把XML看成对象,文件看成对象睡觉的地方,或者是对象活动场所,或者对象存活的空间。

当你有这样一个分离细腻概念以后,你就知道如何做?

有了对象,就考虑对象的生命周期,
当对象XML需要永久保存时,也就是长命百岁,活得很久时,才需要永久介质:硬盘文件和数据库,当你不需要永久保存,只是临时使用,就不需要保存成文件和数据库。

对象有哪些生命周期?request范围, session范围,application等,永久持久。其中request/session/application都是依赖内存的。

我相信经过这么一分析,你应该知道答案,下面我再延伸一下,不是针对你:

在软件领域中,很多情况下,问题的答案就在问题里。为什么?就是思考方式的不同。

所以,我一直强调OO是一种哲学,是一种思考方式。有句话:角度决定深度,你从这个角度考虑是一个死胡同,但是换一个角度就是豁然开朗。

OO有时类似禅,徒弟问师傅,什么是禅,师傅说:禅在每天挑水砍柴中;同样OO也是,OO存在你每一个编程活动,甚至思考活动中,包括问题中,只是你没有发现而已。

所以,有时从一个人问的问题就可以看出这个人的OO思维如何?如果我去面试OO程序员,准确率就非常高,不会被程序员满嘴飞的新名词困惑;我在jdon.com从一些人的发言就可以看出他是来真诚讨论问题,还是捣乱别有目的?或者是否够一个层次来辩论,当然他可能不知道,所谓当局者迷,反而怨恨我,那有什么办法呢?

colingo
2008-10-14 13:54
>>XML和文件要分离,就像对象和数据库要分离一样。你把XML看成对象,文件看成对象睡觉的地方,或者是对象活动场所,或者对象存活的空间。
当对象XML需要永久保存时,也就是长命百岁,活得很久时,才需要永久介质:硬盘文件和数据库,当你不需要永久保存,只是临时使用,就不需要保存成文件和数据库。

文件和XML分别对待,从理论上讲,可以理解。比如,我用的场景:flash player 播放mp3时,它可以通过一个playlist.xml(存放mp3路径信息)。我只想在播放的前(点击play)生成一个playlist.xml传给flash player,但是又不想playlist.xml存于物理有磁盘上。
话说回来,之所以会这样想是因为我方向选错了。但是如果真的可以这样做,也是不错的解决方案。