分享
 
 
 

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

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

最近我们用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的基础上改良了很多,很值得期待。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有