JQuery Smart UI 简介(六) — 框架设计【后篇】(数据接口、后台框架)[简介系列完结]...
上篇介紹了Smart UI的前臺架構,本篇繼續后面的內容 — Data Interface、Business Layout、DataAccess。
- Data Interface
數據接口,Smart UI中實現前后臺銜接的唯一接口,實現與各種后臺語言(.net、java等)對接的核心內容。主要處理UI層各種請求,方法權限控制,回發數據解析、驗證,統一錯誤處理等。主體內容包括四部分,如下圖:
如圖所示,整個post請求的內容主要是四部分:
1. Post Handler
post請求統一接口;在UI層,所有的請求都是組織成統一的格式,向Post Handler發送post請求。(上傳除外,由單獨的請求完成),然后Post Handler根據請求的fncode,進行權限驗證和執行對應方法,然后將返回的數據也組織成統一格式回傳給客戶端。
??
2. Post Data
UI層post過來的數據【json格式】,分為兩類:
一、系統公共數據:fncode和一些前臺系統數據。
二、業務數據:各個頁面的傳遞到后臺的業務數據,也分為兩類:分頁列表數據【Json格式】與普通數據【Json格式或字串】
?
3. Function
各個fncode對應的操作方法,有著權限控制。在Function執行時,才會去的解析Post Data的業務數據。
?
4. Response Data
返回給客戶端請求的數據, 與Post Data一樣,也分為兩類:
一、系統公共數據:系統公共數據【用戶信息、服務端時間等】、錯誤信息等。
二、業務數據:各個Functin執行后返回的數據,也分為兩類:分頁列表數據【列表數據對象】與普通數據【Object】。
??
特別說明一下,在單獨實現Data Interface與Smart UI對接的其實很容易,只需要注意兩點:一、將請求與后臺的方法對應,二、數據遵循規范格式。
此外,還建議Data InterFace中,實現數據庫的操作類,配合Post Data與Response Data的格式使用會使開發變的更加的簡單。具體的內容,大家可以借鑒Demo中的內容。
Data InterFace核心對象類圖:
?
Business Layout & DataAccess這兩層不用太多的介紹,大家應該很熟悉。在這里簡單的介紹一下,Smart UI自帶后臺框架的內容。
- Business Layout
?
????? 全部以靜態對象實現,一個RunFunction的公共出口,對應每個操作方法,所有方法的參數接口很統一,一個post的業務數據,一個是返回的自定義錯誤信息【可選】。如下面代碼:
?
public class BRName{public static object RunFunction(string fnCode, string postContent, ref string error){object objReponseData = null;switch (fnCode){case "fn_ps01":objReponseData = SelectDatas(postContent);break;case "fn_ps02":objReponseData = SaveEntity(postContent,ref error);break;case "fn_pg03":objReponseData = GetEntityByID(postContent);break;case "fn_pd04":objReponseData = DelByID(postContent);break;case "fn_pg05":objReponseData = GetProductList(postContent);break;}return objReponseData;}public static object SelectDatas(string postContent){}public static object GetDataList(string postContent){}public static object SaveEntity(string postContent,out string error){}public static object GetEntityByID(string postContent){}public static object DelByID(string postContent){}?
- DataAccess
目前使用的是NBearLite擴展,原本計劃重新開發一套對應的后臺框架的或者在NHibernate上擴展,NBearLite則是在之前我寫的一套輕量級開發框架中擴展使用,只是臨時準備配合Smart UI測試使用,結果發現NBearLite與Smart UI非常合拍,有點量身打造的感覺,當然也還是要擴展一下的。此外,針對DataAccess,Smart UI后續會新增一個特別模式,會完全放棄“ORM”的內容。
擴展的內容主要有三部分:
1.查詢類:結合Post Data和Response Data中的分頁查詢格式,自動解析查詢條件數據,和實現一些特殊的查詢內容(如:Between條件與前臺的結合)。
2.操作類:與查詢類獨立,實現讀寫分離,根據實體結構對象,解析回發數據,自動與字段匹配。
3.其他擴展:封裝一些常用的操作與多種方式的批量處理操作。
引用本系列的開篇簡介中的圖,大家可以看到圖中查詢和操作的基本例子,使用很簡單,只需要設置那些字段和條件,不用關心數據(當然一些特殊的數據處理需要單獨完成),更多的內容請查看demo和關注后續系列中的內容。
?
結尾
《JQuery Smart UI簡介系列》到此已全部結束,接下來的內容會從兩個方面并行進行,《JQuery Smart UI 應用系列》和《JQuery Smart UI 控件系列》,至于api會根據這兩個系列的相關內容在文章中陸續公布。另外,Smart UI的網站目前也在建設中,不久就能上線,屆時實例和演示的內容會更加有針對性和豐富一些,請有興趣的朋友繼續支持。
最后,對所有關心和支持Smart UI的朋友、武漢軟通動力Ipsa的各位同仁的大力支持和2.0工作組的關鍵性思路和想法、以及各位一直支持我的兄弟們表示誠摯的感謝。
注:所有內容皆為原創,轉載請注明出處 By JQuery Smart UI - Roy Zhang
轉載于:https://www.cnblogs.com/zhh8077/archive/2010/11/22/1883553.html
總結
以上是生活随笔為你收集整理的JQuery Smart UI 简介(六) — 框架设计【后篇】(数据接口、后台框架)[简介系列完结]...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: led手电筒烧灯珠_LED手电筒充电时候
- 下一篇: Java项目-基于SSM实现公交路线管理