前言
這些年一直在.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、框架的功能及實現
先給大家截幾開發出來的效果圖,接下來的博客中我會詳細講解我的實現。
查詢頁面:
編輯頁面:
系統管理: