注册 登录  
 加关注

网易博客网站关停、迁移的公告:

将从2018年11月30日00:00起正式停止网易博客运营
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

为着理想勇敢前进

 
 
 

日志

 
 

悟-灵活配置  

2006-12-07 13:15:45|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

怎么配置我们的程序?
一种观点认为程序是死的,而配置是活的,我们可以用一个伟大的xml文件包括所有需要用到的选项,在包括一个牛叉的框架用来解析xml,我们的程序就可以想干什么就干什么,不管要干什么,都只需要抽象的调用 事情.干() ,然后框架自然会在xml找到你想干的事情的配置。如果你想要得到什么东西也很容易,只需要调用 东西 = 工厂.找(),你要的东西牛叉的框架就会根据伟大的xml文件的配置给你找出来。总有一天,我们的程序会变成只有一行代码——loadXmlConfig("nb.xml")

另一种观点认为,程序自己就是灵活的,程序它不是一个程序,它是一大堆相互独立的东西,它们每一个完成一个小小的功能,共同解决复杂的问题,它们不会紧紧抱在一起,它们相互之间根本不知道别人在做什么,却又总能以某种协议互相对话。它们各自解决各自的问题,所有的配置除了业务相关的,就只有一点点位置信息,这也就只是一组ip地址+端口解决了。至于什么Provider、什么Container和一大堆的性能参数,它们统统自己解决,绝不交给去部署他们的用户。

哪一种观点是正确的?问题的实质就是,在外部文件中的配置真的就一定比代码中的更灵活吗?的确,对于一个庞大的可执行文件来说,把配置放在外部文件的确是一个更好的选择,但是,我们为什么要做一个庞大的可执行文件呢?对于放在Web服务器的PHP脚本来说,修改他们的代价并不比修改一个XML高;提供源码的Linux平台的各种小工具来说,要修改它们,增加功能,然后编译是很方便的事情。

J2EE之类的东西提供的是一种事倍功半的做法,Java语言本身就可以在运行时替换.class文件,只要重新load一下就可以了。并不需要先把.class打一个包,然后写一大堆配置,然后跟先前打的包再打一个包。还得修改一大堆配置——这些配置并不比代码更容易懂。而且,如果要修复bug或者修改什么,你还是得重新编译打包,我一点都没看出相比直接覆盖class文件这有什么好处。

在使用JavaScript的时候,很多人都尝试过用.js文件本身来做配置,这并没什么不好,用额外的XML然后用XMLHttp下载下来解析,一点都没有带来灵活性的改变,但是代码却会更多。Java或者C++也一样可以直接把配置写在代码里面,把配置放在一个小模块或者干脆一个模块都放配置,编译起来不会有任何问题。至于Windows中运行中不能更新文件也不是什么问题,可以仿造asp.net的办法,先copy再加载不就行了。

 

结论是,如果需要灵活的配置,配置文件并不是唯一的办法。如果语言本身就足够灵活的话,完全没有必要使用额外的配置文件。

  评论这张
 
阅读(169)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018