Web 软件结构原则

原创 2005年05月01日 11:20:00

一、 目录结构清楚,不宜过深,复杂,路径最好用相对地址
二、 命名适当
三、 常变内容、界面使模板较好
四、 共公信息统一存储
五、 Include文件不可嵌入较多
六、 目录下不可存储太多内容文件
七、 数据结构要设计合理
八、 数据校验应在服务器端
九、 连接数据库近晚,断开连接近早
十、 尽量少使用SESSION与COOKIE

详细说明:

(一) 目录结构清楚,不宜过深,复杂,路径最好用相对地址
a) 什么样的目录放什么样的内容,这样便于管理,使WEB程序的目录结构,清楚明了,一看便知道某个文件夹下存储了哪些功能模块与内容。若随便存放,时间一长久自己都将不从了解某目录是用来做什么的。如:经常要使用的可执行文件最要存放在(项目根目录)根目录,这样做主要是便于了解其作用,同时也为在程序中少输入些地址字符。程序所用到的图片统一存放在根目录下images目录中,若项目较大,分枝较多,可再在其目录下建立也分枝程序相关的目录名,存储相关的图片内容。程序的配置文件与常用共公函数类库存放在include目录中,存放在此目录下的函数类库文件扩展名得命名为:.php切不命名为.inc .ini之类为扩展名的文件,主要是防此此类文件可供用户下载,或查阅其源码内容,这样对其调用方便明确。模板文件应存储在根目录下templates目录中,扩展名为.html,如果项目较大,分类较多,模板文件可分类存放在下极目录中。临时文件存储在根目录tmp目录中,此目录通常设置为任何人都可读可写。使用相对地址主要是方便程序移植。

 (二) 命名适当
a) 命名最好是以程序用来作什么用来命名。若一个单词就要描述则用小写单词来命名,若要用多个单词方能代表,也以小写单词之间加下划线连接。要注意命名不可过长,这样就不方便了,虽然能表达的更明确,但打字难打啊。程序中函数命名也可与此相同。不好之上也有,那就是每次命名都得要花时间去想个较合适的名字,由其是对于是我们这种英文水评较差的人来说可不是一件容易的事啊。(惨啊,哈哈!)

(三) 常变内容、界面使模板较好
a) 常变内容、界面使用模板较好,这是因为当我某天感觉某不页面不美观时尚时,我想更换较新较好的界面,这时就用得上了。如果是按照传统的制作将HTML页面内容放在程序中处理输入时,较麻烦非得要更改程序不可,这可能会带来较大的不便万一更改出错,这就不太好了。(程序有很长一段时没有维护了,突然要改,一时之间是难免不发生改错的情况发生)。若是使用了模板则不用改程序,只要更改一下模板文件就行了。好了说了这么我模板的好处,好像传统的做法没有一点好处是的,好像分文不值是的,也不是,模板也有它不好的地方,现在我也来说说它是怎么个不好的。传统做法是把HTML代码嵌入在WEB程序中,这样做的好处是,执行速度要比使用模板的要快,这是因为它不用经过任何处理就能直接输出,而模板就不一样啦。模板先要打开读取模板文件到字符串变量可数组字符串变量中,这是要时间的吧?读处完了之后还得花时间用字符串操作函数替换模板中模板变量吧?替换完成了方能进入输出。传统做法与使用模板作法,您觉得哪个好呢?(我个人认为如果是开发访问量相当大的网站,选择传统的作法是一个不错的选择,我所说的是相对不是绝对,如果访问量再大那就不能用脚本语言去写了,那得用CGI + Socket + Demon了。不说了,说远了,哈哈)

(四) 共公信息统一存储
a) 共公信息统一存储,这主要为了方便团队开发时都能进行调用用的最常的函数,不用每个开发人员都复制一份或自己写一份存储在程序文件中,这样做浪费空间同时效率效果也不好。

(五) Include文件不可嵌入较多
a) Include文件不可嵌入较多,这是因为每次程序include某个文件时,是要打开读取这个文件的,这是要时间的哦,再就是说处理路径时可能会遇到较难发现的BUG问题。

(六) 目录下不可存储太多内容文件
a) 目录下不可存储太多内容文件,你有没有发现?每当你进入windows的system32文件夹时通常打开的时间要比打开其它文件夹时要长久点呢?这主要是因为system32这个文件夹中文件较多,当你打开系统得花时间查找文件并显示吧?如果文件较多较大时最好是分目录分盘符来处理。假若您的机器够好够强劲的话,就当我没说过,那就得另当别论了。

(七) 数据结构要设计合理
a) 数据结构要设计合理,如果数据结构设计不合理的话,不管你的程序写的多精典,写得我容易,也不是不能发挥其最大作用与价值的。这就相当于一个女人的胸部最大最丰满,但人不够高,而且又黑,身体又不好,身架又残疾,你会说她美丽完美吗?程序也一样,有些代码沉长又不起作用,存在也没有什么用。数据结构要精简明了。

(八) 数据校验应在服务器端

a) 数据校验应在服务器端,这是因为就算是他人不从我们的页面输入数据,自己做了个链接地址(GET)或自己做了个表单用POST方式传送数据,我们的程序也将进入核对查验。若是放在客户端,他人就能用以上方法逃过审核了。但这样做也有他不好之处,那就是当数据量大时,服务器会负载运行,审核数据完整性是可开销时间与系统资源的。在客户端就不会占用服务器太多的资源,因为他占用的是用户的资源。

(九) 连接数据库近晚,断开连接近早
a) 连接数据库近晚,断开连接近早,这主要是因为连接数据是要时间的吧?连接上了不即时使用也要占用系统资源吧?连接数据库连接数量是有限制的吧?所以得尽晚连接,尽早断开连接,这个做能使占用系统资源最少,为下一次连接提供条件。

(十) 尽量少使用SESSION与COOKIE
a) 尽量少使用SESSION与COOKIE,因为使用SESSION是要占用系统资源的,SESSION是存储在服务器端的,每次读取SESSION中的数据是要较大开销的。COOKIE虽然不占用服务器资源,但COOKIE不太安全。


OK,就说到此吧。此文纯属个人看法,不符之处请多多指导,谅解!

作者:张树林
2005-4-27

本文链接:
http://www.openphp.cn/index.php/article/2/182/index.html

WEB软件结构原则

WEB软件结构原则一、 目录结构清楚,不宜过深,复杂,路径最好用相对地址 二、 命名适当 三、 常变内容、界面使模板较好 四、 共公信息统一存储 五、 Include文件不可嵌入较多 六、 目录下不可...
  • yuelengxin
  • yuelengxin
  • 2006年03月24日 11:02
  • 705

WEB软件结构原则

一、 目录结构清楚,不宜过深,复杂,路径最好用相对地址 二、 命名适当 三、 常变内容、界面使模板较好 四、 共公信息统一存储 五、 Include文件不可嵌入较多 六、 目录下不可存储太多内容文件 ...
  • thinkpadleo
  • thinkpadleo
  • 2006年10月24日 08:37
  • 603

[转]WEB软件结构原则

一、 目录结构清楚,不宜过深,复杂,路径最好用相对地址 二、 命名适当 三、 常变内容、界面使模板较好 四、 共公信息统一存储 五、 Include文件不可嵌入较多 六、 目录下不可存储太多内容文件 ...
  • weq221
  • weq221
  • 2005年10月26日 17:42
  • 438

软件架构设计的六大原则

1.“开-闭”原则(OCP)     Software entities should be open for extension, but closed for modification. ...
  • ol_beta
  • ol_beta
  • 2011年08月08日 11:08
  • 2429

web设计原则

Web作为出版物的一种,同其他出版物如报纸,杂志等在设计上有许多共同之处,也要遵循一些设计的基本原则,不同之处在于每章提到的Web的“非所见即所得”特性和交互性。因此,熟悉一些设计的基本原则,再对We...
  • kbh1983
  • kbh1983
  • 2007年11月21日 11:58
  • 681

软件架构---架构分解篇

4.1、架构分解 架构分解是架构设计过程中非常关键的一步。除了识别架构元素,对大规模的软件系统,分解还是解决非功能需求的重要手段。比如解决可伸缩性、可用性、可管理性等问题,在架构的多个层面进行了分解:...
  • yysct2005
  • yysct2005
  • 2015年01月23日 15:21
  • 1428

Web应用系统设计原则

和C/S结构相比,B/S结构受限于网络带宽不利于进行大数据量的统计分析,网络传输存在潜在的安全问题,还有用户界面不及C/S结构友好等等,但随着网络带宽和网络应用的发展,加上AJAX技术的流行,使得现在...
  • kbh1983
  • kbh1983
  • 2007年11月21日 11:57
  • 750

软件结构 耦合性

耦合性指的是程序结构中各个模块之间的相互关联的度量。 取决于三个方面 1各个模块之间的接口复杂程度 2调用模块的方式 3哪些信息通过接口 耦合可以分为以下几种,它们之间的耦合度由高到...
  • crslee
  • crslee
  • 2015年03月12日 09:33
  • 230

Java Web技术路线总结

Java Web技术路线总结[TOC]2017/10/12 星期四 19:47:52 Edit by Core Chan 此总结仅用于个人学习,仅供参考。目前技能点: java SE除了swing/a...
  • Core00077
  • Core00077
  • 2017年10月12日 22:06
  • 347

移动网页设计9大原则——第1部分

本文作者为来自 Mainstreethost 的站内营销专家 Kim Speier,主要介绍移动网页设计的九个原则,每个原则都配有生动的实例。文章系国内 ITOM 管理平台 OneAPM 编译呈现,以...
  • wangpeng198688
  • wangpeng198688
  • 2016年05月18日 10:34
  • 283
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web 软件结构原则
举报原因:
原因补充:

(最多只允许输入30个字)