在.Net中实现RichClient+Restful+JPA架构-探索实现
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-04-10
兵马未动,粮草先行,开始项目的时候我习惯为项目起一个漂亮的名字,好的开始是成功的一半嘛,一个帅的名字能让我做的更有激情。 呵呵,废话少说,我给项目起的名字是:ElegantSharp,Elegant:优雅的,Sharp:尖锐、锋利。 好的架构注定是优雅的,漂亮的;而且必定是尖锐锋利的。 一、技术选型 我们要实现的架构是RichClient(富客户端)+Restful(SOA)+JPA(持久化机制),本架构也是目前系统架构的主流趋势。 1、首先分析富客户端技术,UI作为直接接触用户的层面,交互性、稳定性、速度、美观、便捷、友好是主要的研究方向,目前市面上比较流行的RichCilent技术主要有:JQuery,Ext.Net(Extjs),Dojo。 JQuery:轻量、开源、资源繁多、也是最受欢迎的富客户端技术,但相对来说控件库不足,仍需要用户自己扩展实现。 Ext.net:不支持MVC3.0的Razor模式,直接放弃,另一个基于Ext.net的框架以前已经实现过,并且做了很多的企业应用系统,总体来说Ext.net能大大提高开发效率,而且有丰富的控件库,但ADSL外网网络基本上会卡死,另外如果页面控件多了,浏览器占用内存相当严重,比较适合做企业内部不太复杂的应用 Extjs:收费,学习代价相对较高,暂不考虑 Dojo:学习成本较高,而且以前从未搞过 那么我们初步选型采用JQuery UI来实现UI层。 2、Restful(服务层) 据我所知,在C#里面实现Restful,貌似WCF Rest提供一套机制,看过一套源码。另外据说MVC也支持Restful,但目前还没发现应该怎么用,这一块的技术先暂时放一下,还需要慢慢研究下,如果有熟悉的朋友,请您留言,学习一下。 3、JPA(JAVA里的概念),持久化机制,目前比较火的主要有DBUtility,NHibernate,EF4.x(EF5.x)。 以前的开发一直用的是自己封装好的一套ORM,问题虽然没发现,但总感觉不靠谱,这次既然要做一套比较主流的架构,那么也应该配用潮流的东西。Nhibernate以前一用过,但总感觉要配置太多的东西,尤其是引入Spring.Net,只是配置文件就要好多。理所当然我选择了EF4.x配合Linq确实挺爽的,而且EF5马上要到来,据说性能大大的提高了。 4、Of Course 整体UI架构风格采用非常爽的MVC3.0 Razor模式。 二、搭建ElegantDAL层(数据访问层) 要实现的工作: 1、查询所有(FindALL)、分页查询(FindByPage)、获取行数(GetTotalCount)、根据条件获取记录(FindByConditions)、获取单个实体(FindById)、Insert、Update、Delete 2、采用泛型,将这些方法应用到所有的Model 3、配置EF (1)首先创建数据表: CREATE TABLE [dbo].[WMS_USERFUN]( [funid] [int] primary key, [funno] [varchar](200) NOT NULL, [funname] [varchar](100) NOT NULL, [fatherid] [int] NULL ) CREATE TABLE [dbo].[WMS_ROLEFUN]( [pid] [int] IDENTITY(1,1) primary key, [roleid] [int] NOT NULL, [funid] [int] NOT NULL ) (2)新建MVC3.0网站,同时创建三个个类库,一个是ElegantModel,一个是ElegantDAL,一个是ElegantBLL (3) 创建两个表的Model Model接口文件IEntitynamespace ElegantModel { public interface IEntity { int Id { get; } } } using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.DataAnnotations; /** * 作者: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于在.Net中实现RichClient+Restful+JPA架构-探索实现的所有评论