第一次发博客-说说我的B/S开发框架(asp.net mvc + web api + easyui)
前言
这些年一直在.net下做企业web系统开发,前前后后经历的不同的开发框架有五六个之多,一直想有一个比较简单灵活顺手的BS开发框架,网上也没有找到一个比较合适的能应用于企业系统开发的。去年辞职在家的时候,网上找了些东西,按照自己的想法实现一些东西,慢慢的形成现在的B/S开发框架。想接下来慢慢的写出来和大家共享下,这里面很多都是我自己的想法,并没有什么高深的设计模式,欢迎大家拍砖。
框架愿景
1、提高开发效率(尽量少的配置,尽量少写代码,尽量简单)
2、考虑较好的拓展性及winform及手机端接入的可能性(所有的数据访问均采用 ajax+ restful webservice实现)
3、数据访问层比较灵活高效,分页查询,支持多数据库
4、有一个不错不的UI
5、一些代码可以自动生成
技术选型
采用.net4.0作为基础技术平台,原来是采用.net4.5的,但是后来发现.net4.5不支持Windows Server2003,所以又降为.net4.0。
1、asp.net mvc 4.0 用于提供页面服务
2、asp.net web api 用于提供restful数据服务
3、fluentData 新型轻量级ORM模型用于数据持久方案
4、log4net 作为日志组件
5、json.net 作为序列化组件
6、文档方案(均为开源) 导出:Excel2007使用EPPlus、Excel2003使用NPOI、Word2003/2007使用DocX、Pdf使用Gios 压缩:Ionic.Zip、Ziplib
7、js库为jquery
8、UI选用jquery easyui 1.3.2
9、选knockoutjs为前端mvvm框架
10、css框架选用960gs
11、报表采用stimulsoft report(商业)
12、图形分析采用fusioncharts
简单实现图
框架分层
一、框架分层截图如下,主要是分了以下几层:
1、Zephyr.Core框架核心层:主要是一些服务基类,日志处理,参数处理等。
2、Zephyr.Data数据处理层:数据库操作类,引入FluentData并做了少量的修改以适应
3、Zephyr.Generator代码生成器:目前只能生成实体类及服务类
4、Zephyr.Utils工具类:里面包含了很多东西如转换函数,文档处理加密解密等等,我不喜欢引入太多的dll所以很类库我就直接加在它里面了。
5、Zephyr.WorkFlow工作流引擎:参照JBPM思想只实现了核心功能
二、框架的使用
直接在项目中引入框架的dll即可,早期的很多项目都是参照petshop分了很多的层,这里我不打算分太多的层,目的只有一个,要使框架使用起来尽量的简单。就直接使用Model 、View、Controller这mvc自带的三层,web api同mvc。其中Model层是广义的Model,其中包括数据实体的定义及数据服务。数据服务可以看做我们传统三层中的dal或bll + dal的。框架的作用主要在服务层,相当于服务层只要继承了框架的服务基类即可拥有所有我预定义的方法。所以后台分层只有mvc三层。
前台则采用mvvm的开发模式,把前端也分为三层分别为Model、View、ViewModel三层。Model即为后台传入的数据,View即为Razor页面,ViewModel则为一段处理页面与数据交互的脚本对象。这样一来,只要页面差不多ViewModel就可以直接重用了。
好了先写到这吧,第一次写博客,写的很慢,接下来我准备写以下几篇:
1、利用zephyr框架的登陆的实现
2、系统管理详细开发讲解(好多)
3、典型业务页面开发讲解
4、框架的功能及实现
先给大家截几开发出来的效果图,接下来的博客中我会详细讲解我的实现。
查询页面:
编辑页面:
系统管理: