您的位置:首页 > 其它

应用程序开发总结(6)--路径管理

2014-08-29 14:53 155 查看

第8章 路径管理

不得不说,应用程序的路径的管理是已经很灵活的事情。你可以使用觉得路径,绝对路径。也可以分为本地路径,网络路径。还有根据是否需要变化,分为固定地址和可变地址。
或许是跟DOS系统仅仅是擦肩而过,我对".."表示上次目录表示天然的无法理解。遇到这种情况基本靠蒙。这些年,随着网络和虚拟存储的发展,路径的管理不再像以前那样“可见即可得”了,你面对的路径很可能是一个虚拟的路径。当机器发生变化(比如部署)时,系统的路径配置就需要修改。如果程序把路径写死了,那简直让人崩溃。或许你会认为,使用相当路径就可以解决问题了,其实不然。

首先要面对的是将来部署在服务器的数据。本地数据迁入到服务器的时候,原来的配置使用".."格式的相对路径就不能用了。修改起来也很麻烦。所以,尽量不要“.."表示相对路径。
第二,如果数据比较大,或者数据是可更新的,以及程序和数据是独立的。那么设计的时候就考虑分开的情况,从而能够做到分部更新,或者分开部署。所以基于运行目录的相对路径,是不明智的方式。
第三,如果不是基于运行目录的相对路径,那么基于配置的相对路径呢?自然的,这也是不明智的。因为配置也是可更新的。尤其配置放在数据库或者服务器的时候。它就没有相对路径的概念了。
第四,在某些情况下(比如调试),只显示相对路径很不方便进行排错。

经过上面的讨论,相对路径如果设计不对,那么也是一种灾难。但我们不能完全使用绝对路径,因为绝对路径看起来比相对路径更不靠谱。所以,要合理的使用相对路径。相对的意思就是有一个参考。选好参考,才是相对路径存在的基础。

既然要考虑参考,那么谁最靠谱呢?我认为,最靠谱的是数据自治集。所谓数据自治集,就是这部分数据之间是相对来说,是很稳定的。它们不会单独被分开到不同的新地址,而是批量的移动。所以我们应该将这部分数据看成一个单元。
在处理这部分数据的时候,应该定义一个”领头羊“,”领头羊“决定了里面所有的数据都是在其管理范围内。而我们要做的仅仅把这个”领头羊“纳入路径管理。至于它内部的路径如何管理,那是它内部的事情了。

下面以一个配置来举例:



上图中,ModelSearchPath是领头羊,它决定了下面的数据的相对路径。它的子项实用的是相对路径,或者直接是文件名称。

有些人会对这个实例有两个纠结:
1)你这里使用绝对路径了。
回答:是的,因为我的配置和数据不在一起,也不打算放在一起,所以是绝对路径。当数据迁移时(我经常做)只要修改这个配置即可。这个配置基本在文件头部。
2)子项使用的相对路径,假如我有个文件不再这个ModelSearchPath下面呢?
回答:这种情况我会强制不让它发生。违背这个原则的都被认为是违反设计原则,是无理取闹的,是故意追求自由的放纵思想。(当然,框架设计错误,或者数据自治集分类存在错误另当别论。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: