一个net平台的应用系统框架.docVIP

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

一个.Net平台的应用系统框架 如需转载请与作者联系 代码下载 前言 微软的.Net平台给应用程序开发提供了一个非常好的基础系统平台,但是,如何在这个系统平台上构建自己的应用系统,还需要我们针对应用系统的特点,构建自己的应用系统框架(Framework)。笔者在应用.Net开发系统的过程中,结合多年的开发经验,设计了一套.Net下的应用系统开发框架,以及相应的中间件和开发工具,已经在多个项目中和软件产品中应用,取得了很好的效果。 系统的基本结构 ??????? 对于典型的三层应用系统来说,通常可以把系统分成以下三个层次: ????????? 数据库层 ????????? 用户界面层 ????????? 应用服务层 对于应用系统来说,在这三个层次中,系统的主要功能和业务逻辑在应用服务层进行处理,对于系统框架来说,主要处理的也是这个层次的架构。 对于应用服务层来说,需要处理以下几个方面的问题: ????????? 数据的表示方式,也就是实体类的表示方式,以及同数据库的对应关系,即所谓的O-R Map的问题。在框架中,这个部分位于数据实体层 ????????? 数据的存取方式,也就是实体类的持久化问题,通常采用数据库来永久存储数据实体,这就需要解决同数据库的交互问题。在框架中,这个部分位于实体控制层 ????????? 业务逻辑的组织方式。在面向对象的系统中,业务逻辑是通过对象间的消息传递来实现的。在这个部分,为了保证逻辑处理的正确性和可靠性,还必须支持事务处理的能力。在框架中,这个部分位于业务规则层 ????????? 业务服务的提供方式。为了保证系统的灵活性和封装性,系统必须有一个层来封装这些业务逻辑,向客户端提供服务,同时作为系统各个模块间功能调用的接口,保证系统的高内聚和低耦合性。这里的客户指的不是操作的用户,而是调用的界面、其他程序等。Web层(ASP.Net页面)通常只同这个部分交互,而不是直接调用业务逻辑层或者数据实体的功能。在框架中,这个部分位于业务外观层。 将系统划分成这么多层次,其好处是能够使得系统的架构更加清晰,并且,系统的层次划分的清晰,就意味着每个层次完成的功能就比较单一,也就意味着这些功能的代码是有规律可循的,也就意味着我们可以开发一些工具来生成这些代码,从而减少代码编写的工作量,使得开发人员可以将更多的精力放到业务逻辑的处理上。正是基于这个想法,我们开发了针对这个框架的开发工具,在实际的使用,能够减少很多代码的编写量,效果非常好。同时,为了应用服务层更好的工作,我们设计了一个支持这个框架的应用系统中间件,现在,除了本公司,也已经有多家其他公司在试用这个中间件系统。 整个系统的结构图如下: 图中的箭头表示使用关系 ? 各个部分详细说明 ?????? 对应系统的结构,在每个层次,我们都设计了一套策略,详细说明如下: ? ????????? 数据库服务层 数据库用于对象的持久化储存,也即数据的存放。数据库层采用关系型数据库。系统可以支持各种主流的关系型数据库系统,包括SQL Server7.0以上版本和Oracle8以上版本的数据库。 框架提供了一套类库,作为客户端同数据库之间交互的中介,很大一部分功能就是要对两者之间的交互进行控制,并提供一系列提高性能和安全性的服务。 ? ????????? 用户界面层 用户界面层用于同用户的交互,可以是Web浏览器用户或传统客户端,但是从系统的可维护性等方面考虑,一般使用Web浏览器为客户端。利用这套框架和开发工具,可以构建纯Web客户端的应用系统,大大方便系统的维护和部署。 ? ????????? 数据实体层 这个层用于封装实体类的数据结构,用于映射数据库的数据,表现实体类的类结构和数据。在开发过程中,我们充分感觉到了.Net中DataSet数据对象的强大功能,因此,在O-R Map上,我们实际上是通过DataSet来实现的。 数据实体层包含三个方面的内容: 1)? 核心类库定义了EntityData类,这个类继承了DataSet作为所有实体类的框架类,定义了各个实体类的一般结构,至于每个实体类具体的结构,在运行时刻由下述办法确定: 2)? 实体类的定义通过XML文件来确定,该XML文件符合JIXML对象实体描述语言的规范(注:JIXML是迪讯开发的 对象—实体 映射语言),用于确定实体类的结构。例如,一个关于订单的实体类的定义可能类似于下面的结构: 3)? 实体类的结构由一系列的类构造器在运行时刻,根据上述规范制定的XML来生成。这些类构造器实现IClassBuilder接口。系统核心类库预定义了一些标准的Builder,一般情况下,直接使用这些标准的Builder就可以了。 类构造器采用的类构造工厂的设计模式,如果使用者觉得标准的Builder不能满足要求,也可以扩

文档评论(0)

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

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

1亿VIP精品文档

相关文档