技术详细介绍
本课题是个自选项目,本课题背景是随着基于浏览器/服务器模式的WEB系统的日益普及,此类系统的可扩展性差、代码复用率低等问题也屡见不鲜了,因此在软件系统的开发生命周期中,选择一个合适的软件架构对于系统及其同构子系统是极其重要的因素。目前采用.NET框架技术开发成为开发WEB系统的主要选择,首先是因为用户的操作系统平台大多都是Windows、再加上低廉的成本和微软数据库系统SQLSERVER无缝连接等原因让.NET架构的应用越来越广泛。其次应用.NET框架的N-层技术开发的软件系统可以在一定程度上提高代码复用率,并且使系统具有更强的应用性、开发性和扩展性的优势。本项目的应用领域为中小型企业中的业务逻辑复杂的信息管理系统。 本项目的技术原理是以ASP.NET的多层架构技术为基础,并对ASP.NET框架中的MVC 实现机制进行扩展研究,提出一种新的MVC 模式实现架构,该架构模式分为五层,从上到下依次是UI Layer、Control Layer、Business Layer 、DataAccess Layer和数据库(DataBase)。在新的架构模式中,视图就是页面表示层(UI Layer),也就是我们web应用的外观显示,为客户端提供对应用程序的访问界面,负责接收用户的输入、将输出呈现给用户。控制层(Control Layer),这层是相对于.NET经典的三层架构模式新加的一层,主要目的是连接模式层和UI层,是模式层和UI层之间的桥梁。该层主要由自定义PageBase类、Parameter类以及系统日志记录组成。自定义PageBase类,继承了System.Web.UI.Page类,并且将各种初始化和控制函数重新封装,以满足MVC模式中的核心控制器的要求。系统的所有页面都继承自定义的PageBase类,所有符合要求的用户请求都要先转发到该类进行处理,再由该类分发给各个页面的Page Controller进行处理。Parameter类是用来保存每张画面的数据,并向模式层部分中的业务逻辑层的Facade类传递数据对象的类,所以与视图层中的每张页面一一对应。另外我们也可以利用控制层来记录系统的操作日志。 模式层由两层组成,一层是Business Layer即业务逻辑层,另一层是DataAccess Layer即数据访问层。业务逻辑层,一般在该层中进行业务逻辑的处理,业务逻辑层通过CSID的形式与数据访问层、控制层进行交互,业务逻辑层的设计是整个系统设计中的关键问题。业务逻辑层中核心部分是Facade类,负责完成与具体业务密切相关的业务逻辑处理。数据访问层,该层主要是向业务逻辑层提供数据服务,具体在该架构模式中,它包括三部分:第一部分是数据实体DataSet类,该类作用是以强类型的Dateset在各层之间传递数据信息。当数据库中的表的结构等如果发生改变时只需要对数据访问层的代码进行修改就可以了,不需要再修改其他的地方。第二部分是数据源访问管理类DBManager, 由于数据访问层用于存放应用应用系统的数据信息, 一般采用关系型数据库进行存储,所以DBManage类屏蔽了系统对DBMS的依赖性,利用DBManage类可以与来自SQLServer、Oracle、DB2等不同的数据库相连,第三部分是数据访问操作类DAO类,它将对数据表的Select、Insert、Update、Delete的一些基本操作封装在DAO类中。 实现性能指标,本课题已达到预期的所有性能指标。主要性能如下: 1.利用该新架构,降低了层间耦合和提高了代码复用率,利用MVC模式的分层次的原理,实现一个模型对应于多个视图,当模型改变时,所有视图将自动刷新。特别是在UI层和业务逻辑层之间增加了控制层,形成了一个核心的控制器,这样降低了两层之间的耦合度,减少了页面表示层的代码量,并且提高了各层之间代码的复用率。 2.提高了系统自动生成代码量、利用率和开发效率,由于每层各司其职,每层不同的应用具有某些相同的特征,这样有助于通过工程化、工具化产生和管理程序代码,本系统中采用了Visual Studio设计器自动产生自定义Dataset,自动生成数据访问层的部分代码,从而大大的减少手写代码量,提高了系统中代码的利用率。 3.提高了开发效率,由于各层分工明确、开发人员任务目标明确,开发效率也得到了很大的提高。 本项目在以下方面实现了技术创新: 利用MVC模式,在.NET多层开发架构中创建了新的一层控制层 控制层(Control Layer),这层是相对于.NET经典的三层架构模式新加的一层, 主要目的是连接模式层和UI层,是模式层和UI层之间的桥梁。该层主要由自定义PageBase类、Parameter类以及系统日志记录组成。自定义PageBase类,继承了System.Web.UI.Page类,并且将各种初始化和控制函数重新封装,以满足MVC模式中的核心控制器的要求。 系统的所有页面都继承自定义的PageBase类,所有符合要求的用户请求都要先转发到该类进行处理,再由该类分发给各个页面的Page Controller进行处理。 本系统已经成功在漯河市贝利肯教育咨询有限公司、郑州羿海信息技术有限公司等多家企业实施应稳定运行,为企业的信息管理提供了手段和范例。
本课题是个自选项目,本课题背景是随着基于浏览器/服务器模式的WEB系统的日益普及,此类系统的可扩展性差、代码复用率低等问题也屡见不鲜了,因此在软件系统的开发生命周期中,选择一个合适的软件架构对于系统及其同构子系统是极其重要的因素。目前采用.NET框架技术开发成为开发WEB系统的主要选择,首先是因为用户的操作系统平台大多都是Windows、再加上低廉的成本和微软数据库系统SQLSERVER无缝连接等原因让.NET架构的应用越来越广泛。其次应用.NET框架的N-层技术开发的软件系统可以在一定程度上提高代码复用率,并且使系统具有更强的应用性、开发性和扩展性的优势。本项目的应用领域为中小型企业中的业务逻辑复杂的信息管理系统。 本项目的技术原理是以ASP.NET的多层架构技术为基础,并对ASP.NET框架中的MVC 实现机制进行扩展研究,提出一种新的MVC 模式实现架构,该架构模式分为五层,从上到下依次是UI Layer、Control Layer、Business Layer 、DataAccess Layer和数据库(DataBase)。在新的架构模式中,视图就是页面表示层(UI Layer),也就是我们web应用的外观显示,为客户端提供对应用程序的访问界面,负责接收用户的输入、将输出呈现给用户。控制层(Control Layer),这层是相对于.NET经典的三层架构模式新加的一层,主要目的是连接模式层和UI层,是模式层和UI层之间的桥梁。该层主要由自定义PageBase类、Parameter类以及系统日志记录组成。自定义PageBase类,继承了System.Web.UI.Page类,并且将各种初始化和控制函数重新封装,以满足MVC模式中的核心控制器的要求。系统的所有页面都继承自定义的PageBase类,所有符合要求的用户请求都要先转发到该类进行处理,再由该类分发给各个页面的Page Controller进行处理。Parameter类是用来保存每张画面的数据,并向模式层部分中的业务逻辑层的Facade类传递数据对象的类,所以与视图层中的每张页面一一对应。另外我们也可以利用控制层来记录系统的操作日志。 模式层由两层组成,一层是Business Layer即业务逻辑层,另一层是DataAccess Layer即数据访问层。业务逻辑层,一般在该层中进行业务逻辑的处理,业务逻辑层通过CSID的形式与数据访问层、控制层进行交互,业务逻辑层的设计是整个系统设计中的关键问题。业务逻辑层中核心部分是Facade类,负责完成与具体业务密切相关的业务逻辑处理。数据访问层,该层主要是向业务逻辑层提供数据服务,具体在该架构模式中,它包括三部分:第一部分是数据实体DataSet类,该类作用是以强类型的Dateset在各层之间传递数据信息。当数据库中的表的结构等如果发生改变时只需要对数据访问层的代码进行修改就可以了,不需要再修改其他的地方。第二部分是数据源访问管理类DBManager, 由于数据访问层用于存放应用应用系统的数据信息, 一般采用关系型数据库进行存储,所以DBManage类屏蔽了系统对DBMS的依赖性,利用DBManage类可以与来自SQLServer、Oracle、DB2等不同的数据库相连,第三部分是数据访问操作类DAO类,它将对数据表的Select、Insert、Update、Delete的一些基本操作封装在DAO类中。 实现性能指标,本课题已达到预期的所有性能指标。主要性能如下: 1.利用该新架构,降低了层间耦合和提高了代码复用率,利用MVC模式的分层次的原理,实现一个模型对应于多个视图,当模型改变时,所有视图将自动刷新。特别是在UI层和业务逻辑层之间增加了控制层,形成了一个核心的控制器,这样降低了两层之间的耦合度,减少了页面表示层的代码量,并且提高了各层之间代码的复用率。 2.提高了系统自动生成代码量、利用率和开发效率,由于每层各司其职,每层不同的应用具有某些相同的特征,这样有助于通过工程化、工具化产生和管理程序代码,本系统中采用了Visual Studio设计器自动产生自定义Dataset,自动生成数据访问层的部分代码,从而大大的减少手写代码量,提高了系统中代码的利用率。 3.提高了开发效率,由于各层分工明确、开发人员任务目标明确,开发效率也得到了很大的提高。 本项目在以下方面实现了技术创新: 利用MVC模式,在.NET多层开发架构中创建了新的一层控制层 控制层(Control Layer),这层是相对于.NET经典的三层架构模式新加的一层, 主要目的是连接模式层和UI层,是模式层和UI层之间的桥梁。该层主要由自定义PageBase类、Parameter类以及系统日志记录组成。自定义PageBase类,继承了System.Web.UI.Page类,并且将各种初始化和控制函数重新封装,以满足MVC模式中的核心控制器的要求。 系统的所有页面都继承自定义的PageBase类,所有符合要求的用户请求都要先转发到该类进行处理,再由该类分发给各个页面的Page Controller进行处理。 本系统已经成功在漯河市贝利肯教育咨询有限公司、郑州羿海信息技术有限公司等多家企业实施应稳定运行,为企业的信息管理提供了手段和范例。