1概述
1.1應用場景
盡管互聯網高速發展,互聯網軟件也隨之越來越多,但桌面應用程序在某些領域中還是不可替代,如MIS,ERP,CRM等軟件產品,同時,這類軟件均包括一些通用的功能,如:與數據庫操作,日志管理,權限管理等
本框架指在解決這些問題,並將通用的功能抽離並實現.使在開發過程中,將更多的精力放在業務邏輯
1.2面向對象
Net程序開發員
1.3開發環境
開發環境 |
描述 |
VS2012或以上 |
整個框架只有此一個解決方案.Net類庫版本是4.0 |
EntityFramework |
版本6.0 |
MySql數據庫 |
版本是5.6 |
SQLite數據庫 |
版本是1.0.98.0 |
DevExpress第三方控件 |
版本是12.2,可自行升級至更高版本 |
注:所有項目的目標平台建議選擇:x86
1.4框架亮點
l 基於EntityFramework+Repository模式開發,完全ORM開發.通過配置Config文件,可切換不同數據庫
n 檢索數據全部通過QueryModel類,避免出現檢索方法參數過多.檢索方式基於Linq語法,簡單高效
u 引入Specification模式
u 可編寫Linq語法Where條件
n 采用雙Model模式,Entity類用於DAL層操作數據,Model類用於UI層頁面展示
l 主界面支持2種頂部菜單,包括MenuBar普通菜單和Ribbon類型菜單,同時支持3種導航菜單,分別是Accordion,Tree和TabPage
Riibon+Accordion模式
Ribbon+Tree模式
MenuBar+Tabpage模式
l 多語言,包括英文,中文簡體,中文繁體
n 注:語言包可自行編輯,已提供編輯器
l 換膚,支持多達60種皮膚
n 換膚包括2種功能,包括系統樣式和系統皮膚,分別從Ribbon菜單的如下位置切換
l 框架數據可通過WebAPI和WebService兩種方式被第三方軟件使用
n 調用代碼如下所示
l 基礎設置模塊,包括系統選項,編碼規則等
詳見2.1介紹
l 通用權限模塊,可精確至按鈕級別
詳見2.2介紹
l WinForm常用業務場景示例
詳見2.3介紹
2功能模塊
2.1基礎設置
2.1.1元數據
描述
l 左側Grid控件,展示輔助編碼類型.暫不提供對輔助編碼類型編輯
l 右側Grid控件,展示輔助類型對應的輔助編碼,可增刪改
2.1.2系統選項
描述
l 每個編輯控件對應選項表中一個選項
l 設置完成后,點擊保存,實現對選項的修改
l 注:暫不提供對選項的新增和刪除
2.1.3系統語言包
暫未提供
2.1.4編碼規則
描述
l 提供對編碼的新增,刪除和修改操作
n 編碼前綴:常量.任意字符串
n 中間值類型:年月日,EAN13和無.其中,EAN13用於生成條碼使用
n 中間值長度:6和8.針對年月日,格式:yyMMdd和yyyyMMdd
n 序號長度:順序號長度
2.1.5計量單位
描述
l 提供對計量單位的批量增刪改查功能
n 批量操作的典型示例
2.2基礎數據
2.2.1部門信息
描述
l 頂部部分是工具欄,提供對部門的增刪改查
n 部門支持無限分級
l 中間是數據檢索區域,可錄入部門名稱和負責人,提供檢索條件
l 提供對單條部門新增/編輯功能,如下圖所示
2.2.2用戶信息
描述
l 頂部是工具欄,提供對用戶的增刪改和初始化密碼
n 提供用戶條碼生成和打印功能.選中用戶,點擊打印條碼,彈出如下圖所示頁面,可直接打印
l 中部左側是部門樹狀結構列表,右側為選中部門下用戶列表
l 提供對單條用戶新增和編輯功能,如下圖所示
2.2.3功能模塊
描述
l 頂部是工具欄,提供對功能模塊的增刪改功能
l 中間是數據展示區域,可直接編輯,點擊保存即可
n Grid控件批量操作數據典型示例
2.2.4權限信息
描述
l 頂部是工具欄,提供對權限的增刪改功能
l 中間是數據展示區域,可直接編輯,點擊保存即可
2.3.5角色/權限
描述
l 提供對角色數據的新增,刪除和修改.如上圖左側顯示
l 提供對角色/用戶關系的數據維護.如上圖右側顯示.用戶根據部門分組,最右側是此角色中的用戶列表
l 提供對角色/功能模塊的數據維護,即某一角色所擁有的對某功能模塊的操作權限,如:訪問,新增,修改,刪除等.權限可控制至按鈕級別
l 注:暫不支持數據權限
2.3實驗室
2.3.1微軟控件
描述
l 提供在日常項目開發過程中,各功能點整理和總結
n 提供對字符串的加密/解密,轉義等功能.如下圖所示
n 時區轉換
n C#代碼是支持goto語句的,如下圖所示.但不推薦使用
n 調用Com對象.此項技術用於使用C#制作Com對象,被其他開發工具使用.如:VB,PB,Delphi等
n 條碼打印.此示例是使用DevExpress提供的打印功能,通過其自帶的打印模板,實現打印功能.如下圖所示
n 截屏(全屏),用於將整個屏幕截取,生成圖片文件.適用於系統出現異常,需要將數據發送給系統管理員
n 異步示例.包括單條和多條.是基於BackgroundWorker控件,直接查看示例即可.如下圖所示
n 打開攝像頭.使用第三方插件,打開攝像頭,並截取屏幕
n 源碼預覽.使用第三方控件,實現源碼預覽.支持文件類型包括:sql,cs,vb和xml.如下圖所示
n 生成二維碼.是基於ZXing.net組件開發而成.可生成一維碼(條形碼和二維碼).詳細示例如下圖所示
n 截取頁面.是根據Url地址,將其內容生成圖片.代碼比較簡單,可以示例中自行實驗
n 生成驗證碼.是指生成圖片驗證碼.如下圖所示
n Tree控件幫助頁面.是指將數據以樹狀形式展示,只需傳入參數,頁面是公用的
n Grid控件幫助頁面.是指將數據以Grid網格形式展示,只需傳入參數,頁面公用
n CheckBoxList幫助頁面,是指將數據以復選框列表形式展示,只需傳入參數,面用公用
n 附件列表.是指在WinForm項目,可以打開各種文件預覽.包括Office,Html,Xml等
u 注:暫不支持cad文件預覽
u 雙擊預覽文件
預覽Excel文件
預覽Flash文件
預覽Gif文件
預覽Mht或Html文件
預覽PPT文件
預覽SQL文件
預覽Visio文件
預覽Word文件
預覽Xml文件
預覽圖片文件
預覽Pdf文件
n 附件預覽(Web)
描述
此附件預覽功能,是針對Web站點件操作,而不是本地.可實現對網絡文檔的管理,如上傳和下載等
u 文檔下載如下所示
n 簡易服務器
描述:即通過代碼在系統搭建一個仿IIS的服務器(利用HttpListener類),實現不同應用程序間的通信服務
2.3.2Dev表單控件
描述
l 提供對Dev表單的示例
n 彈出提示框,包括3種
n MSN提示:在屏幕右下角彈出提示信息,仿MSN效果
n 打印設計器,提供打印設計器
2.3.3DevGrid控件
l 此示例主要針對Grid控件的綜合示例.包括分頁,多表頭,各種欄目類型,父子表,Layout視圖,表達式
n 分頁
注:此功能的分頁,是數據庫分頁,不是內存分頁
n 多表頭
注:支持匯總合計
n 欄目類型
注:常用的欄目類型均支持,包括:復選框,日期,圖片列表,按鈕,進度條,RadioButton列表等
n 父子表
n Layout視圖
n 表達式
2.3.4Dev圖表控件
描述
l 取自官方Demo,整合進來.此示例還包括:PivotGridControl控件使用
2.3.5Dev報表控件
暫未實現
2.3.6Dev日程控件
暫未實現
5FAQ
1. COM組件引用
項目引用若干COM組件,包括PDF文檔預覽組件,Office文檔預覽組件,視頻播放組件.框架本身已提供安裝程序在\packages\Tools\文件夾中(暴風影音安裝程序未提供)
2. SQLite數據庫如何使用
注1:所有的C#項目的目標平台,建議是x86,即使是64位開發環境中
注2:需要在客戶端安裝SQLite驅動,可以官方下載,注:本框架使用的是Net4.0的驅動.文件名稱是: sqlite-netFx40-setup-bundle-x86-2010-1.0.98.0.exe
6后記
此版本是3.1,在2.0基礎上整合,引用DevExpress控件,重構大量代碼,穩定性大大增強.同時,也引入若干Winform應用場景下的示例