基于linqtosql应用软件通用开发模式探究

基于linqtosql应用软件通用开发模式探究

ID:5994604

大小:29.50 KB

页数:7页

时间:2017-12-30

基于linqtosql应用软件通用开发模式探究_第1页
基于linqtosql应用软件通用开发模式探究_第2页
基于linqtosql应用软件通用开发模式探究_第3页
基于linqtosql应用软件通用开发模式探究_第4页
基于linqtosql应用软件通用开发模式探究_第5页
资源描述:

《基于linqtosql应用软件通用开发模式探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于LINQtoSQL应用软件通用开发模式探究  摘要:目前企业级应用软件开发均采用分层逻辑架构。重点讨论了应用软件开发中使用LINQtoSQL技术后的软件项目开发模式,也即是研究得到一种适用于一般项目架构设计与开发的模式:能够基于LINQtoSQL数据库访问技术,围绕分层架构中的领域实体层、业务逻辑层的其它分析进行设计实现。关键词:分层;LINQtoSQL;软件开发模式;领域实体层;业务逻辑层中图分类号:TP302.7文献标识码:A文章编号:1672-7800(2013)006-0028-02基金项目:武昌

2、工学院校级科研课题基金项目(2009JS04)作者简介:姚远,女,硕士,武昌工学院信息工程学院讲师,研究方向为应用软件开发技术;张铮(1984-),男,武昌工学院信息工程学院教师,研究方向为计算机应用技术、电子信息化。0引言7一般来说,一个复杂的应用系统只要系统使用的开发方法一致(如面向对象的开发方法)、架构风格一致(如基于层次的逻辑分层架构)、使用的开发、测试技术一致,这些作为一个系统的基调规定下来后,无论面向什么行业的应用系统,整个开发过程从需求分析、数据库设计、模块设计、单元测试与功能实现都可以按照相同

3、的步骤来依次完成。对于这些相同的步骤进行归纳,即为本文的主要研究内容。1应用软件一般层次架构面向对象分析、设计与开发已由最初的粗粒度简单对象的封装,演化出几种成熟的分层对象设计模型。受到C/S(客户/服务器)、N-Tier(多层架)、B/S架构、SOA(面向服务架构)等软件开发架构的影响,以及多种开发语言进化的推动,面向对象的软件一般可按3~5个逻辑层次划分。以一般JavaEE的软件架构作为例子,这几个软件层次如图1所示。具体项目应用中,这几个层次和数据库的设计实现分别完成后,一个软件基本上也就成型了。7从图

4、1中可以看到,领域实体层、持久层、数据库这三者之间的联系可以表现在两个方向:一个是先行设计领域实体层,通过持久层生成数据库,另一个是对于数据库设计完毕实现后,由持久层生成领域实体层。持久层可以使用Hibernate或者LinqtoSQL。本文主要讨论关于LINQtoSQL技术的应用。LINQtoSQL会根据已经设计并实现完毕的数据库,生成领域实体层。围绕这些领域实体层应展开业务逻辑层的分析、设计。业务逻辑的设计是围绕领域实体的,不需要考虑持久化的问题。而持久层为所有业务逻辑的实现提供最基础的支持。2LINQt

5、oSQL生成领域实体此处着重考虑从关系数据库生成领域实体,也即是将数据库中二维表转换成程序中处理的对象。从应用上来看,VisualStudio提供的对象关系设计器可以方便地完成此功能,它提供了用于许多LINQtoSQL功能实现的用户界面。通过可视化界面的操作,表映射后的类即自动生成,也即是说这些类就是提供给程序员进行后续编程的基础。关系数据库中对于狭义数据库的概念是指:数据表按照一定的形式组织而成的集合。LINQtoSQL最基本的映射形式就是将数据库映射到DataContext,将数据表映射到类,将数据表中的

6、列和关系映射到这些类的属性。这就关系到LINQtoSQL中两个核心的类:DataContext和Table。2.1DataContext从以上映射结果可以看出,类DataClasses1DataContext是继承自类System.Data.Linq.DataContext的。它代表映射后的“数据库”类。图2说明通过LINQtoSQL,可以很便捷地得到映射后的LINQtoSQL对象模型,包括相应的DataContext类,以及类A、类B、类C等。7DataContext类似一个数据工厂,通过它可得到实体对象集

7、合。从LINQtoSQL生成的代码可以看到:在DataContext的定义中,类A、类B、类C均为DataContext的只读属性。此处类A、类B、类C均为表1、表2、表3映射后的类。2.2Table这些实体对象集合的类型为Table,实现了接口IEnumerable)>)及IQueryable)>)等。是一个泛型类,位于命名空间System.Data.Linq中。这个类代表着有0到多个这样序列对象的集合,这些对象的类型是TEntity,也即是每个对象所属的实体类。通过集合可以进行对象查询、添加实体对象、移除

8、对象或附加对象等,重要方法见表1所示。DataContext作为数据工厂可以得到需要的实体对象以外,它还有一个重要的方法是:SubmitChanges,用于根据插入、更新或删除的已修改对象或者对象集实现对数据库的更改。3围绕领域实体分析设计业务逻辑层7领域实体层提供对业务逻辑层的支持,业务逻辑层的功能可以看作是“事务”实现的组成。这些“事务”实现的基础在编写“SQL语句”时代,是非结构化的SQL语句

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。