转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
多层结构来开发ASP.NET程序(有具体例子),请各位指点         ★★★★

多层结构来开发ASP.NET程序(有具体例子),请各位指点

作者:闵涛 文章来源:闵涛的学习笔记 点击数:744 更新时间:2009/4/23 10:47:06

最近我们用ASP.NET开发了一个企业内部的软件开发管理系统,这也是我们第一次用ASP.NET,用的语言是C#。下面我着重讲一下我们系统的架构,恳请大家指点。

先讲讲系统开发的背景。系统不大,开发的目的也是用来管理我们公司的软件开发流程,同时达到学习.NET的目的。既然是公司自己的系统,同时还带有学习的目的,所以在系统的架构上,我们也力求结构完整和清晰,而把性能等其他放在第二位考虑。存在很多不完善的地方也是在所难免的,大家带着批判的眼光来看待它就好了:)

系统分为4层,分别为(Web)表示层、(Facade)业务外观层、(Rules)业务逻辑层和(Data)数据层。每层分别属于自己的Project。另外还有一个用于处理共通业务的Project。他们之间互相的调用关系如下所示:
Web --> Facade --> Rules --> Data --> DB

下面分别来讲讲每层的作用和特点:
Data层叫数据层,它负责数据的提取和转换。Data层继承自DataTable。在它上面建立了一个数据库的映射关系,也就是说,数据库的每一个字段在这里都有一个常量和它关联。它封装好了Select,insert和update方法。你可以像操作DataTable那样来操作它,比如取值前先调用Select方法,然后再用oData.GetValue(i,数据库字段的别名)就可以取得值了。插入和更新操作前先用oData.GetValue(i,数据库字段的别名,value)设置值,然后再调用Insert或者Update方法。通过这层,就把数据库的定义和上层业务逻辑分离开了。

Data上面是Rules层。Rules层叫规则层,那它主要做什么呢?其实很简单,Data层相当于是数据库的一个记录集,它可能包括了很多条记录。而Rules这一层则把包含多条记录的Data对象拆分成多个Rules对象,通过提供属性的方式给Facade层调用。在这一层上,根据业务规则做一些处理和检查操作。上一层就可以通过调用Rules对象不同的属性来获取相应的处理后的值。

Facade层叫业务外观层,它在Rules层的上一层。它主要负责一些业务的外观处理,组织多个Rules对象和为Web层提供显示准备等。

最上层就是Web表示层了。它负责处理页面上的一些check和显示的制御等等。

以上结构也是参考了微软的Duwamish 7.0。并且每层的命名完全是按照微软的命名来的。在具体实施的过程中,根据上面的设计,Data和Rules层已经很有规律了,而且数据库的定义是通过我们公司的另外一个系统来管理的,数据库表和列的定义都可以很方便的得到,于是我们制作了一个自动生成Data层和Rules层的小工具,这个小工具能自动生成Data层和Rules层的类,你要做的仅仅是根据你的业务来充实Rules层的类和处理Facade和Web层了,这样就大大地减轻了我们的负担。

系统现在已经编码测试完成正准备投入试用。由于是在企业内部网上使用,也没感觉慢:)。但是性能不好是肯定的了,接下来就是要想办法如何来提高性能了。

在开发的过程中,自己也总是不断的拿它来跟JSP比较。个人ASP.NET还是很不错的,它可以让你象桌面程序开发那样来开发WEB程序,微软也提供了很丰富的控件,但是很多控件感觉有点像鸡肋,好像用起来挺方便,但是却有各方面的缺陷不是很实用。另外VS.NET这套开发工具还有很多Bug,由于是在进行WEB开发的时候(我们用的是2003版)。不过据说VS.NET 2005在2003的基础上改良了很多,很值得期待。


[C语言系列]NET 中C#的switch语句的语法  [系统软件]托拽Explore中的文件到VB.net的窗口
[系统软件]Boost库在XP+Visual C++.net中的安装  [常用软件]新配色面板:Paint.Net3.0RC1官方下载
[常用软件]用内建的“Net Meeting”聊天  [VB.NET程序]Henry的VB.NET之旅(三)—共享成员
[VB.NET程序]Henry的VB.NET之旅(二)—构造与析构  [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体
[VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET)  [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台