NHibernate3.2+Asp.net MVC3+Extjs 4.0.2项目实践(一):基本概要
最近正在着手公司应用系统的集成,之前开发的业务系统都是在各部门需求基础上的针对性项目,而且规模都不是很大的;在企业内部做软件开发就是这样,公司、部门就是你的客户,他们有什么需求你得尽量满足,而且他们都是善变的。绝大部分的应用程序都是BS结构,开发工具嘛就是VS与Sql server,这是集团规定的标准。NHibernate一开始我就应用在系统开发中,从1.0到现在的3.2, Asp.net MVC也是最近的项目才开始使用,Ajax是用jQuery,但我不太喜欢jQuery,属于轻量级的(纯属个人看法),在复杂应用方面还是欠缺一点,比如图表,而且没有成熟的控件库。所以最近一个月在寻求一个组合,能和Asp.net MVC结合良好的Ajax框架,最后选定Extjs,现在是4.0.2版本,因为是新接触,费了好大劲,边学习边实践,在网上找资料,看帮助文档(有点吃力,因为是英文的),网上关于Extjs的资料都很零散,而且都是针对之前版本的,因为Extjs 4变化很大,所以运用过程中出现很多问题;然后就把自己置身于调试->查资料->修改的无数次循环当中。还好总算问题一一解决,现在三者结合也有了一点眉目,于是就开始了我的博客之旅,希望与大家分享一下经验,同时获得一些帮助。
先说一下所使用的开发工具:Visual Studio 2010当然是基本的,还有Microsoft Enterprise Library 5.0、Mindscape NHibernate Model Designer,这两个工具在VS2010的联机扩展中可以找到; MVC是采用Asp.net MVC3, Ajax则是Extjs 4.0.2,最近Sencha刚放出了4.0.7版本,但这是过渡版本,我还是等4.1版,再更新吧;数据库是Sql server 2008。
项目结构如图:
Tesz.Data是数据访问类库,Tesz.Data.Model是MVC Model类库,Tesz.Data.Services是中间业务层,Tesz.Utility是实用类,而Tesz.Web.App当时Web程序主体,包括MVC Controller和View,还有Components是Extjs组件库。
关于数据访问类和NHibernate将在下一节中进行阐述。
相关资源:
3.Mindscape NHibernate Model Designer
4.Microsoft Enterprise Library 5.0
5.Ext JS 4