快速业务通道

在.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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号