反省

因为要处理一些XML的问题,所以上IBM的developerWorks查一些东西,结果看到这篇《实用数据绑定: 谁在使用这个东西,结果如何?》。其中有这么一段:

数据绑定不是时尚
对于任何新的、令人激动的 API,人们最常犯的一个错误就是将它与时尚混为一谈。这常常表现为两种典型谬误:

  • 没有认真地思考和测试就引入一种 API。
  • 所有可能的任务中都使用一种 API。

这些都是错误的观念,原因很多。比方说第一个问题,当出现一种新的、看来很有帮助的 API时,很多开发人员往往忽略添加新技术所需要的常规步骤。比如,没有经过漫长的讨论会、数以吨计的计划和大量的深思熟虑,您不会轻易地从 JDBC转移到 EJB。同理,兴致所至就匆匆甩掉 SAX 和 DOM 代码,取而代之以 JAXB 或者 JaxMe(或者Coins、Zeus、XMLBeans 等),也是极其不负责任的。

但是令人吃惊的是,很多开发人员恰恰就是这样做的。SAX编码很令人痛苦,回调不是很符合面向对象的思路,熟练掌握它又需要花很长的时间。DOM易于使用(尽管有时候存在一些不必要的麻烦,比如提取元素中的文本),但它可能变得很庞大,占用很多内存。但是,没有理由仅仅因为数据绑定是市面上最新的XML 相关技术就把其他 API扔掉。要花点时间考察新技术。阅读像本文这样的文章,演练示例代码,要谨慎从事。这样做可能慢一些,但是您可以省掉很多麻烦。

另一种诱惑是到处使用新技术。换句话说(使用数据绑定 API 这个具体的例子),不要假设您的代码每次处理 XML都要使用数据绑定。这种天真的、过于单纯的做法,几乎注定会在长期的运行中损害您的应用程序。比方说,如果拥有一些私有的 Perl脚本,能够很好地读取 XML,就没有必要增加转移到数据绑定的开销,这种情况下,没有必要舍弃原有的脚本。保留精力解决那些工作以及应该工作的任务。

其实把上面一段话里的XML数据绑定换成所有的时尚技术,都是基本成立的。

汗,我又犯了文中所说的错误了。-_-|||

我不应该到处使用这个说法

12 Replies to “反省”

  1. 其实对xml操作的最好办法就是正则表达式获字符串操作。即使用DOM/SAX,也没什么好叫的。TMD不就是个格式化过的文本,搞出这么多花样来。如果真的要谈基于XML格式上的业务构建,就好好谈业务,要谈数据存储和表现,就老老实实的分析数据结构和关系,不要老跟XML绑在一起。哪天大家用xml不爽了,直接换二进制非ASCII字符格式的数据流,难道就不能做事情?真搞不懂现在这帮半懂不懂的IT写手们

  2. HOHO,我的意思不是要说XML,而是觉得他的这两个观点: * 没有认真地思考和测试就引入一种新的技术。 * 在所有可能的任务中都只使用一种技术。很有道理。

  3. 我是借题发挥了一下而已。技术的存在意义不是时尚,而是实用。至于xml,我不认为它伟大到可以左右技术选择,不过是一种信息的格式表现而已。

  4. 我发现大叔好用功的说今天这本书,明天那本书MM很惭愧唉一天到晚抱着猫猫玩唉汗ing~~~~~

Leave a Reply

Your email address will not be published. Required fields are marked *