ASP Framework_1_简介
作者:Anyyes 来源:ASP Quick Work 官方网站 时间:2009-10-12 11:35:00
前阵子刚完成一个B/S架构的学校办公系统,体会就是表太多,文件太多,而每个文件中类似的操作(代码)也太多了,例如学生信息和教师信息操作,student.asp,teacher.asp,这两个文件要实现的功能有,添加、删除、修改、显示教师和学生信息,两个文件中就有很多相同的代码:比如:
显示信息,do while not rs.eof,rs.movenxt
添加记录,name = request.from("name"),sex=request.from("name")...
所以整个系统的完成大致就是不停的复制文件,修改文件名,修改字段名,变量名等等,然后再加上各自不同的属性,如逻辑处理等。直接复制方便倒也方便,但是产生了很多重复的代码,这样一来,对将来的扩展和维护都会有很大限制。因此我开始在网上寻找可以提高开发效率的类或者框架,结果没有令我满意的,如数据库类只是简单的打包了一系列的函数,返回的还是RS,用的时候还是得do while not rs.eof,要么就是一些函数库,将一大堆函数整合成一个文件.....等等,因此本人计划整一个ASP版的Framework。
相信看完上述文字,应该可以大致了解该Framework的主要目的,即最大化的精简代码,而且要保证系统的可扩展性,即可以灵活的应用于各个领域的WEB开发(ASP)。当然,由于水平有限,难免会有很多需要改善的地方,希望大家多多指教,提出好的建议,把它做的更好。
废话不多说,进入主题,该Framework是由我最近的一个项目中所写的框架改进而来,目前只整理了数据库操作,其它部分等完成后一起放出。下面结合实例讲解一下如何使用。
运行环境:
IIS+ASP+ACCESS(MSSQL)
文件目录:
include文件夹[只需要配置config.asp文件]:
[config.asp] 故名思义,用于网站配置,如数据库类型,登录账号,密码,网站语言等
[function.asp] 函数库,主要功能,简化ASP常用内置对象,如response.write(str)=echo(str),response.querystring=q(str),数组操作,FSO操作,表单各项输出简化...
[class.ctrl.asp] 网站控制类,实现从URL参数转入相关处理的模块,为了适应潮流,该类也即将实现URL[伪伪]静态,如www.****.cn/?/news/list/1.html,
[class.db.asp] 数据库操作类
[class.view.asp] 模板类,为什么不叫tpl而是view,大概也是受到了MVC的影响吧,呵呵,当然这并不代表该框架能实现MVC模板开发,框架只为提高效率而写。
mods文件夹:
该文件夹存放了很多类似mods_news.asp,mods_user.asp这样的文件,他们基本上与数据库的表名相对应,每个文件下放着该模块所用到的函数,他们与URL参数相对应,如?/news/list/将返回mods_news.asp中list函数的运行结果,然后将结果交给view统一处理,再显示最终页面给客户端,这些都是自动完成的,你只需要新建类似的文件,然后在里面添加各个操作函数即可,当然函数返回的内容会有一定的约束,比如他们都是一个一维数组,必须包含模板文件名等,这在以后详细解释。
view文件夹
不多说,里面放了各个模块所需要用到的模板
[index.asp] [可根据需要自定义配置]:
该文件存放于根目录,理论上可实现对整个网站操作入口的统一管理,他将统一处理URL参数,并将控制权转给对应mods文件中的对应函数,由函数返回结果或直接转入提示页(如删除,添加等操作完成后只需要转到提示页即可,而不需要返回结果),index.asp再将函数运行结果与对应模板结合,最终显示给用户。
当然有些地方分开也好,比如网站前台和后台管理这并不需要统一入口,可以复制一个index.asp文件放入对应的文件夹,修改一下include file路径。
暂时就这么多,将来还会有upload和用户权限相关的操作,正在整理中...


猜你喜欢
在Python中处理时间之clock()方法的使用
Python中for循环可迭代对象迭代器及生成器源码学习
pymysql 插入数据 转义处理方式
Python中bisect的用法及示例详解
Javascript查看大图功能代码实现
PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例

python logging日志模块原理及操作解析
Python检测字符串中是否包含某字符集合中的字符
selenium.webdriver中add_argument方法常用参数表
python+os根据文件名自动生成文本

Pandas数据分析之批量拆分/合并Excel

rs.open sql,conn,1,1全接触
pytorch程序异常后删除占用的显存操作
SQL 中主标识列IDENTITY使用技巧
Python实现公历(阳历)转农历(阴历)的方法示例

Python爬取腾讯视频评论的思路详解

关于 Web 字体:现状与未来[译]

优雅地使用loading(推荐)

python实现Oracle查询分组的方法示例
Python设计模式中的创建型工厂模式
