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