当前位置:编程学习 > JS >>

ExtJS4.1+MVC3+Spring.NET1.3+EF5 整合一:构建项目框架

).本文基于Spring.NET 1.3.2正式版,但该版本并不支持ASP.NET MVC4,目前仅有2.0支持,所以,把项目由MVC4改为MVC3,请理解。实际上,我是想使用MVC4的WEB API,这个有时间写一篇单独的文章,仅仅是在ExtJS与MVC通信的方式上不太一样而已,其他基本上一样。
 
(2).本来打算是以讲解主要功能为主,但自己也要用到这个项目,所以又加了几个功能。
 
1 项目开发环境
开发环境:Wn7+VS2012
 
技术框架:ExtJS4.1+ASP.NET MVC3+Spring.NET1.3.2+Entity Framework5.0
 
数据库:SQLite
 
为了测试和共享方便,本文使用SQLite轻量级数据库,需要的话可以随时移植到其他关系型数据库中。
 
2 项目功能介绍
本人准备以开发一个中小型企业网站的主要功能来一步一步讲解,从数据持久化、业务逻辑处理,到用户展示各个环节,并解决每个环节中遇到的问题。
 
项目分为两大模块:前台(普通用户)、后台(管理员管理),在ASP.NET MVC中通过创建Area来实现多个模块的功能。
 
本文主要以开发后台演示,有时间的话我会完善前台模块的功能。
 
主要功能:
 
1) 网站以发布文章(新闻、资讯、留言等)为主,允许用户进行评论以及管理员回复;
 
2) 发布文章时允许上传视频、图片,并能自动扣取视频中的图片,对图片自动缩放、压缩处理;
 
3) 网站的另一个功能是人才招聘功能,并允许用户登记和管理员查询;
 
4) 后台管理时,不同的管理员具有不同的权限,以角色实现。
 
3 数据库结构
4 构建项目结构
先看下项目的整体结构:
 
 
此架构与传统三层相似,EF5是持久层,Dao是数据访问层,Service是服务层,Web则是表现层。简单描述如下(后文在用到的时候会详解):
 
EF5:使用微软最前的Entity Framework 5.0框架技术,其中会自动生成Model实体类;
 
IDao:数据访问层接口,仅允许服务层引用;
 
Dao:数据访问层接口实现,使用Spring.NET向Service层中注入;
 
IService:服务层接口,仅允许表现层引用;
 
Service:服务层接口实现,与Dao层相信,使用Spring.NET向Web层注入;
 
DTO:数据传递对象,用于在View与Action相互传递数据时使用,并负责DTO与Model之间的转移。
 
Utility:整个项目基础类,封装一些常用的类,在其他项目中使用时引用。
 
Web:表现层,这里就是ASP.NET MVC3项目。
 
解决方案及这8个项目创建好后,增加项目之间引用:
 
1) IDao引用EF5(使用其中的实体类);
 
2) Dao引用EF5(使用其中的实体类)和IDao(实现数据访问层接口);
 
3) IService引用EF5(使用其中的实体类)和IDao;
 
4) Service引用EF5(使用其中的实体类)、IDao和IService(实现服务层接口);
 
5) DTO引用EF5(使用其中中的实体类);
 
6) Web层引用其他所有层(理论上只需要引用IService和DTO,全部引用只是为了方便引入各个项目中的DLL)。
 
7) 对于其他工具的引用(如log4net、spring.net等用的时候再说)。
 
补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,