网站开发五层构架模块化设计.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网站开发五层构架模块化设计

网站开发五层构架模块化设计   摘 要: 网站项目设计一般根据项目规模、安全要求和团队工作方式等分别采用不同层次的设计构架,常用的构架有二层模型和三层模型。文章通过ASP.NET4.0(C#)介绍五层构架模块化网站设计方法。从系统的安全性和技术层面把系统横向分解为五层构架模式,再从业务功能考虑把系统纵向分块,使得技术层次更加分明,模块耦合度更低,模块可重用性更高。五层构架模块化设计把业务逻辑和数据库严格与界面分开,系统安全得到保障,这是网站项目开发的理想构架模型。   关键词: 网站项目设计; 五层构架; 模块耦合度; 可重用性; 系统安全   中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2013)08-19-03   0 引言   在ASP.NET网站项目设计中,常用的系统构架模式为二层架构和三层架构[1],如图1和图2所示。安全性要求比较高的系统项目一般都基于三层架构方式开发。   图1的开发模式只适应于SQLServer数据库的开发,在这种模式中直接通过界面层的数据绑定控件调用SqlDataSource数据源,再由数据源建立数据库连接,并直接执行数据库的查询语句或存储过程来操作数据库的数据(即增、删、改和检索操作),编程比较简洁。其缺点是完全依赖于SQLServer数据库,直接在界面层执行查询语句系统安全性较差,也不利于团队开发的分工协作。这种模式只适应于小型项目的开发。   图2的开发模式由界面层的数据绑定控件直接调用业务实体类。这种模式虽然比使用SqlDataSource数据源模式复杂得多,但其具有很大的灵活性,它结合ADO.NET技术实现对来自不同的数据库或数据文件的数据进行处理,在团队开发的项目中被普遍采用。   三层构架的扩展如图3所示[2],把中间逻辑层进一步拆分为三层,构成五层构架模式。五层构架模型从系统安全和技术层面把业务逻辑层进一步拆分为数据传递层、数据转换层和执行查询语句对象层,把业务逻辑严格与用户界面隔离开来,以保障业务逻辑和数据的安全性。再从业务功能出发横向分割,使系统更加细化、模块化和标准化。把软件开发过程设计成标准的组装作业流程,技术层次分明,利于团队各个技术能力层次的分???协作。第一层次由掌握网页前端技术的技术人员承担,第二层次可由初级程序人员承担,第三层次由比较有经验的高级程序人员承担,第四层次可引用标准的ADO.NET技术封装静态类,第五层次由比较有经验的数据库技术人员承担。   本文通过一个供应链管理信息系统项目的开发过程来展现五层构架模式的设计方法和技术特点。五层构架设计一般按照业务功能划分模块,在同一业务模块再按构架层次划分模块,对整个系统功能从纵向和横向进行切割。   1 用户界面设计   用户界面网页的样式和布局等技术这里不作介绍,着重介绍网页文件的数据提交和接受的技术方法[3-4]。图4所示是一个采购单的输入界面,当采购单明细信息的商品数量输入并回车时将显示输入的所有明细数据记录,单击 “确认”按钮则生成一张采购单。   给出本网页的部分代码如下:   //实例化采购功能的数据传递类   ESCM.BLL.PurchaseManage bll=new ESCM.BLL.PurchaseManage();   //实例化采购功能的属性类   ESCM.Model.PurchaseManage model=new   ESCM.Model.PurchaseManage ();   //GridView数据绑定   int editIndex=-1;   //执行DBAccess静态分装类的ExecuteScalar方法获取临时表的最大行记录   object idno=DBAccess.ExecuteScalar(DBAccess.strConn,   CommandType.Text, Select MAX(IdNo) From DetailTemp);   //获取GridView编辑行   if (idno!=DBNull.Value) {   editIndex=Convert.ToInt32(idno)-1;   }   else {   //调用DBAccess静态分装类的ExecuteNonQuery方法,执行查询语句,在临时表中插入空记录   DBAccess.ExecuteNonQuery(DBAccess.strConn,   CommandType.Text, Insert Into DetailTemp(WareName)   Values());   editIndex=0;   }   //把临时表记录绑定到GridView并设置编辑行   gvDeta

您可能关注的文档

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档