.NET三层结构在高职院校毕业生职业发展跟踪评价系统中的应用

2014-07-24 12:30唐世毅
无线互联科技 2014年5期

唐世毅

摘 要:在面向对象软件开发实践中,越来越多的使用三层结构,结合《高职院校毕业生职业发展跟踪评价系统》的开发,本文介绍了.NET三层结构的实现方法,并重点探讨了.NET三层结构的实现原理及三层结构的具体好处。

关键词:.NET;三层结构;实现原理;类型无关;可维护性

.NET三层结构是一种比较成熟的软件开发架构,由于其适应性广、可维护性强、适合团队开发等优势,在MIS类数据库应用程序中得到了广泛的应用。发展到Microsoft Visual Studio 2010开发平台,微软公司进一步实现了自动化和集成处理,让三层结构的实现变得简单、高效。《高职院校毕业生职业发展跟踪评价系统》的开发应用了三层结构的架构,下面介绍在开发中三层结构的具体实现。

1 .NET三层结构的实现步骤

首先在解决方案中创建网站,即Web项目;其次创建Model项目,模板选择“类库”,在Model项目中添加新建项,模板选择“ADO.NET实体数据模型”,然后根据已有的数据库生成Model项目;最后创建BLL项目,模板选择“类库”。三层创建完成后,添加各层之间的依赖关系,通过“添加引用”来实现,目的是可以顺利的访问其它层的类,从而实现系统的功能。

2 .NET三层结构的框架及模型:

前述步骤完成后,形成基本框架如图1。三层结构在本系统中的模型如图2。

3 .NET三层结构的实现原理

Model项目中生成了一个名为MISModel.edmx的文件,即把数据库映射成实体对象的文件,打开MISModel.Designer.cs文件,主要分为“上下文”和“实体”两部分,“上下文”部分声明了最重要的一个实体类“MISEntities”,该类对目标数据库的方方面面作了详细的描述,是连接Model项目与BLL项目最为重要的纽带,也是实现三层结构的关键之所在。“实体”部分就是对目标数据库各个基本表格的映射,一张表格对应一个实体类。

下面举例说明,三层结构实现的关键技术

Web项目:

Default.aspx里一段代码:

BLLUserManagement bllUser = new BLLUserManagement();

tblUsers aUser = bllUser.getAUsersByUserLoginName(TextBox1.Text.Trim());

BLL项目:

MISEntities misEntities = new MISEntities();

ObjectSet query = misEntities.CreateObjectSet();

ObjectSet query = misEntities.CreateObjectSet();

此处:misEntities.CreateObjectSet()方法泛型可以使用各种实体类,不同的实体类就会调用不同的方法来创建不同的对象集,也就是说,使用一种方法CreateObjectSet可以实现不同的功能,只是类型不同而已,这样就达到了类型无关的目的,从而实现真正意义的分层,这种类似于多态的技术就是实现三层结构的关键,当然由于微软公司的实体数据模型已经实现了完全自动化,所以工作量难度大大降低,工作量大大减少,提高了软件生产效率。开发人员的精力主要集中在BLL项目与Web项目,一层主要实现功能逻辑,另一层主要实现交互界面。

Model项目:

public partial class MISEntities : ObjectContext

public partial class tblUsers : EntityObject

public partial class tblUserGroupPermission : EntityObject

4 .NET三层结构的好处:

⑴如果软件系统发生改变,如果只改变形式,不改变逻辑功能。⑵如果软件系统发生改变,改变了逻辑功能。包括数据库本身发生了改变,数据访问层可以自动生成,工作量很小;业务逻辑层和表示层的改动工作量并不大,整个工作并不繁琐,最为关键的是,改动的工作清晰、有序。⑶对于较大的软件系统,更能体现三层结构的价值。每一层分工明确,每一层的人员专注于本层的工作,同时也能很好的协作。能实现的原因在于各层相对独立,耦合度低,关键技术还是类型无关性。

[参考文献]

[1]陈超.深入理解三层软件架构[J].福建电脑,2010(11):75-76.

[2]布什波.C#3.0设计模式[M].北京:机械工业出版社,2008:78-98.

[3]北大青鸟.在.NET框架下开发三层结构数据库应用系统[M].北京:科学技术文献出版社,2008:11-61.

[4]岳付强.三层架构在学位论文管理系统中的应用研究[J].西昌学院学报(自然科学版),2010(4):72-74.

[5]徐照兴,刘武.基于B/S模式的高职毕业生就业数据管理系统的设计与实现[J].计算机应用与软件,2012(9):297-300.