ASP (Active Server Page) 的功能:
可以把VBScript 编写的端脚本嵌入到Web页面中, 在端动态生成页面内容;
可以通过COM 组件与数据库连接, 从而提供强大的事务处理功能。
ASP的缺点:
(1) 由于用脚本语言编写的控制逻辑要嵌入到HTML标记中, 因此ASP页面的开发效率低, 后期维护困难;
(2) 动态部分采用脚本语言编写, 其功能受到限制, 不利于开发复杂的程序;
(3) 程序员要自己维护页面之间数据的传递工作;
(4) ASP技术很难采用面向对象的思路和方法来开发程序;
关于ASP.NET
可以采用WebForm编程模型, 该模型由底层系统自动完成客户(Client) 和服务器(Server) 之间繁琐的交互, 而且还提供了状态管理功能, 能在不同页面请求之间自动维护页面数据。
关于B/S 结构
与传统的C/S (Ciient/Server) 结构不同, B/S 结构中的大部分功能都在服务器端实现。服务器根据用户浏览器发送的请求, 在进行相应的运算和处理后, 向用户浏览器发送Web页面, 页面由标准的HTML 文本和script 客户端脚本构成。
ASP.NET的三层开发设计模型
分层模型的优点:
每一层只实现相对独立的功能,当任何一层发生变化时, 只要保持层间接口关系不变, 则其它各层都不会受到影响。
(1) 用户界面层 (User Interface Tier):
显示由业务逻辑层动态传送的数据信息,并通过使用相应的HTML 标记和 (Cascade Style Sheet) 模式来实现。同时还要负责用户录入数据的获得和校验,并传送给业务逻辑层。
(2) 业务逻辑层 (Business Logic Tier):
为用户界面层提供功能调用, 同时它又调用数据访问层所提供的功能来访问数据库。还要根据系统设计, 构造工程中关键的几个对象, 实现工程中的大部分逻辑控制功能。
(3) 数据访问层 (Data Access Tier):
主要用来实现与数据库的交互, 即完成查询、插入、删除和修改的功能。它根据业务逻辑层的要求,从数据库中提取或修改数据。访问数据库是系统中最频繁、最消耗资源的操作, 所以要优化对数据库的访问, 提高系统的性能和可靠性。
BBS 工程实例
整个工程被划分为四个功能模块:
目录管理(Directory):采用“树”结构实现;
文章管理(Article):文章存放在相应的目录下;
用户管理(User):对用户的管理和授权;
权限管理(Right):授权细化到各级目录和每篇文章;
系统采用SQL Server 2000 Enterprise 数据库,Visual Studio开发工具和语言。
整个工程为一个“方案”(solution),而分层模型中的每一层都对应为一个“项目”(Project),每个项目都对应各自的“名字空间”(Namespace),各个项目都从属于方案。
本工程中包括四个项目,其中的Web、BussinessFacade 和DataAccess 项目分别对应设计模型的三个层次,还有一个项目Common用于定义层间的数据接口。结构如图所示:
(1) Web 项目
Web 项目与“用户界面层”对应,在这一层中,每个WebForm 页面显示部分存放在aspx文件中。
(2) BusinessFacade 项目
BusinessFacade 项目与“业务逻辑层”对应,在这一层中包括对四个“类”的定义:
DirectorySystem、ArticleSystem、UserSystem 和 RightSystem,它们对应于系统的四大功能。
例如在RightSystem 类中就提供了:
用于目录权限鉴别的CheckDirectoryRight 方法;
用于过滤目录列表的FilterDirectoryList 方法;
用于用户授权的AuthorizeUser 方法;
以及其它一些用于权限管理的成员函数,这些成员函数可以在用户界面层中直接调用。