Atitit 项目的主体设计与结构文档 v5
?
?
?
Atitit 項(xiàng)目的主體設(shè)計(jì)與結(jié)構(gòu)文檔 v5
?
?
?
?
1. 版本歷史說明2
2. 功能大概說明2
3. 實(shí)現(xiàn)的目標(biāo)3
3.1. cross device跨設(shè)備(pc 手機(jī) 平板)3
3.2. cross screen跨不同屏幕(pc,手機(jī),平板等盡可能兼容大小不同屏幕)3
3.3. 跨語言標(biāo)準(zhǔn)化api3
3.4. 高擴(kuò)展性(為以后不斷的修改留下很好的余地以及較為容易的擴(kuò)展3
3.5. 兼容性3
3.6. 源碼可讀性dsl提升,(為以后維護(hù)修改方便維護(hù)性3
3.7. 跨平臺(tái)(微信平臺(tái)等app內(nèi)嵌, 安卓平臺(tái)app內(nèi)嵌,ios平臺(tái)app內(nèi)嵌,pc平臺(tái))3
3.8. 跨架構(gòu)部署(支持多種部署方式,bs web cs 桌面程序,Hybrid)3
3.9. 部署友好(盡可能支持綠色版復(fù)制部署,免安裝sdk等)3
4. 前端界面Gui總體架構(gòu)4
4.1. 跨語言環(huán)境與跨平臺(tái)gui方案靜態(tài) h5+rest方案(重要)4
4.2. 客戶端ui控件,避免服務(wù)端ui控件,提升擴(kuò)展性(重要)4
4.3. 客戶端mvc方案 避免服務(wù)端mvc方案,提升擴(kuò)展性(重要)4
4.4. 頁面流程跳轉(zhuǎn)前端js實(shí)現(xiàn),方便日后調(diào)整維護(hù)修改5
4.5. 其他5
5. 后端語言選擇企業(yè)級(jí)架構(gòu)與語言體系 java 體系 net體系5
6. 中間層架構(gòu)5
6.1. Ioc架構(gòu)容器化(重要)5
6.2. 8.16. Rest ?接口rest化(重要)5
6.3. Hybrid集成化6
6.4. Plugin插件體系模塊化6
6.5. Dsl化6
6.6. Func base unit 基于功能的單元6
6.7. platform平臺(tái)化6
6.8. 8.17. Text 協(xié)議文本化6
7. 存儲(chǔ)層架構(gòu)6
7.1. Oodb化,盡可能的oo化。6
7.2. 推薦Mysql數(shù)據(jù)庫(kù),開發(fā)部署友好性高6
7.3. 動(dòng)態(tài)orm6
8. 報(bào)表7
9. 配置7
?
?
1.?版本歷史說明
V5 完善了一些細(xì)節(jié),增加了對(duì)報(bào)表架構(gòu)的說明
?v3 v4 繼續(xù)完善細(xì)節(jié)
V2 基本內(nèi)容完善
V1 大概提綱與部分內(nèi)容
2.?功能大概說明
參見具體的功能文檔
3.??實(shí)現(xiàn)的目標(biāo)
3.1.?cross device跨設(shè)備(pc 手機(jī) 平板)
3.2.?cross screen跨不同屏幕(pc,手機(jī),平板等盡可能兼容大小不同屏幕)
3.3.?跨語言標(biāo)準(zhǔn)化api
3.4.?高擴(kuò)展性(為以后不斷的修改留下很好的余地以及較為容易的擴(kuò)展
3.5.?兼容性
3.6.?源碼可讀性dsl提升,(為以后維護(hù)修改方便維護(hù)性
3.7.?跨平臺(tái)(微信平臺(tái)等app內(nèi)嵌, 安卓平臺(tái)app內(nèi)嵌,ios平臺(tái)app內(nèi)嵌,pc平臺(tái))
3.8.?跨架構(gòu)部署(支持多種部署方式,bs web cs 桌面程序,Hybrid)
3.9.?部署友好(盡可能支持綠色版復(fù)制部署,免安裝sdk等)
?
?
4.??前端界面Gui總體架構(gòu)
4.1.?跨語言環(huán)境與跨平臺(tái)gui方案靜態(tài) h5+rest方案(重要)
頁面界面ui使用html靜態(tài)頁面模式,與后端交互通過ajax ?rest接口。。
這樣方便同一個(gè)頁面界面ui,可以同時(shí)應(yīng)用在不同的語言與平臺(tái)環(huán)境里面(比如java net php 微信 安卓 ios等跨平臺(tái)app),此外手機(jī)平板 pc桌面程序等app可能需要直接把html打包在本地。。
使用客戶端h5界面,可以避免平臺(tái)環(huán)境綁定寫死。。
如果使用服務(wù)端的jsp aspx php等模式,則會(huì)造成跨語言環(huán)境平臺(tái)性的喪失,jsp是無法運(yùn)行在net環(huán)境下的,反之aspx也無法運(yùn)行在java環(huán)境下,而且手機(jī)平板本地app打包只能解析運(yùn)行html。。
實(shí)現(xiàn)了較為清晰的前后端分離,團(tuán)隊(duì)情況下也可以同時(shí)提升倆端的開發(fā)效率
?
Ui方面優(yōu)先使用公有標(biāo)準(zhǔn)h5,盡可能避免私有標(biāo)準(zhǔn)的ui方案,比如wpf(就是ms的h5),微信小程序(就是騰訊的h5)等。。Native方案更不推薦,除非很需要性能(通常是重度游戲,音視頻等項(xiàng)目)。。
4.2.?客戶端ui控件,避免服務(wù)端ui控件,提升擴(kuò)展性(重要)
標(biāo)準(zhǔn)h5控件可能不足,推薦搭配比如amazeui bootstrap等使用廣泛的跨平臺(tái)ui控件,盡可能同時(shí)支持手機(jī)最好了,現(xiàn)在移動(dòng)化是個(gè)很大趨勢(shì)。。Easyui也是個(gè)不錯(cuò)的控件庫(kù)。
?
如果使用了比如struts,wpf等服務(wù)端控件,就會(huì)造成環(huán)境與平臺(tái)綁定,導(dǎo)致ui界面移植性喪失
4.3.?客戶端mvc方案 避免服務(wù)端mvc方案,提升擴(kuò)展性(重要)
?
目前常用的客戶端mvc ?推薦例如 angular.js vue.js等東東,同時(shí)搭配jquery等框架庫(kù)
4.4.?頁面流程跳轉(zhuǎn)前端js實(shí)現(xiàn),方便日后調(diào)整維護(hù)修改
4.5.?其他
統(tǒng)一的gdi與dom api
提升用戶體驗(yàn),界面ui動(dòng)畫
頁面轉(zhuǎn)換過渡期間動(dòng)畫
后端交互jq ajax 以及服務(wù)端腳本共同使用
不使用瀏覽器擴(kuò)展模式。不好調(diào)試
界面音效設(shè)計(jì),略
5.?后端語言選擇企業(yè)級(jí)架構(gòu)與語言體系 java 體系 net體系
首選企業(yè)級(jí)語言java 體系。各方面資料齊全,全體系,桌面,web,安卓系統(tǒng)全跨越,方便代碼重用。
C# net也是企業(yè)級(jí)語言,但是跨平臺(tái)較弱了,也不可做安卓手機(jī)平板app等。
其他的php 就要非常謹(jǐn)慎選擇了 ,php 做做簡(jiǎn)單web快速開發(fā)效率高,不過較為復(fù)雜企業(yè)級(jí)應(yīng)用做不了,手機(jī)平板一類app也不可。 此外源碼外漏,較容易被病毒木馬篡改,嵌入病毒代碼片段,安全隱患。。
node.js ?python這一類就比較非主流了,一般不推薦了。。
盡力避免過時(shí)淘汰的語言技術(shù),比如VB delphi asp pb 等。。
6.?中間層架構(gòu)
6.1.?Ioc架構(gòu)容器化(重要)
6.2.?8.16. Rest ?接口rest化(重要)
?
6.3.?Hybrid集成化
6.4.?Plugin插件體系模塊化
6.5.?Dsl化
6.6.??Func base unit 基于功能的單元
6.7.?platform平臺(tái)化
6.8.?8.17. Text 協(xié)議文本化
?
7.?存儲(chǔ)層架構(gòu)
7.1.?Oodb化,盡可能的oo化。
7.2.?推薦Mysql數(shù)據(jù)庫(kù),開發(fā)部署友好性高
常用的三大數(shù)據(jù)庫(kù)mssql (sql server) ,mysql ,oracle 。。
sql server的主要問題是必須要安裝(這個(gè)也是ms系列的通病,包括ide vs ,office,sdk等),常常這些大型軟件安裝麻煩,特別不同的環(huán)境,可能不同的要求,常常不能滿足條件造成回滾,可能需要重啟服務(wù)器,反復(fù)安裝幾次才可成功,此外只能在win平臺(tái)。。
Mysql,綠色版免安裝,部署方便,可以安裝為服務(wù),也可以單進(jìn)程運(yùn)行???/span>linux win等服務(wù)器平臺(tái)。推薦的此數(shù)據(jù)庫(kù)
Oracle貌似也可綠色版運(yùn)行。但是超大型數(shù)據(jù)庫(kù),比較麻煩,體積龐大,影響開發(fā)效率,除非很大型的項(xiàng)目,否則避免使用。
7.3.?動(dòng)態(tài)orm
常用的全自動(dòng)化orm架構(gòu),配合半自動(dòng)化的orm架構(gòu),配合完全動(dòng)態(tài)化的orm架構(gòu)會(huì)更好。。
?
?
8.?報(bào)表與圖表
一般的報(bào)表重點(diǎn)在于圖表可視化展示,這里涉及到界面ui的還是h5 js 優(yōu)先了。。方便多個(gè)語言環(huán)境與多個(gè)不同設(shè)備顯示。
?
常用的圖表,一般有4大圖表(條形圖、柱狀圖、折線圖和餅圖),此外還有金字塔,組織架構(gòu)圖,地圖等常用圖表
?
常用的圖表類庫(kù),按照流行度排列如下 Highcharts 》》Chart.Js >>百度Echart ?
?
傳統(tǒng)上net java系列都有一些報(bào)表圖表控件,但是一般就不推薦了,因?yàn)槟切┦欠?wù)端ui控件,除非客戶端H5 js圖標(biāo)庫(kù)不能滿足需求的列外。。
?
9.?配置
多模塊架構(gòu)配置設(shè)計(jì)
?
?
9.1.?參考資料
Atitit.js圖表報(bào)表工具比較
?
?
?
?
?
?作者::?綽號(hào):老哇的爪子claw?of Eagle?偶像破壞者Iconoclast?image-smasher
捕鳥王"Bird?Catcher?王中之王King of Kings 虔誠(chéng)者Pious?宗教信仰捍衛(wèi)者?Defender?of?the?Faith.?卡拉卡拉紅斗篷?Caracalla?red cloak
簡(jiǎn)稱::?Emir Attilax?Akbar?埃米爾?阿提拉克斯?阿克巴
全名::Emir Attilax?Akbar?bin Mahmud?bin ?attila bin Solomon?bin Adam??Al?Rapanui?
埃米爾 阿提拉克斯?阿克巴?本 馬哈茂德?本?阿提拉 本 所羅門 本 亞當(dāng)??阿爾?拉帕努伊???
常用名:艾提拉(艾龍),???EMAIL:1466519819@qq.com
頭銜:uke總部o2o負(fù)責(zé)人,全球網(wǎng)格化項(xiàng)目創(chuàng)始人,uke宗教與文化融合事務(wù)部部長(zhǎng),Uke部落首席大酋長(zhǎng),uke制度與重大會(huì)議委員會(huì)委員長(zhǎng),uke保安部首席大隊(duì)長(zhǎng),uke制度檢查委員會(huì)副會(huì)長(zhǎng),奶??萍?/span>cto ,uke 首席cto uke波利尼西亞區(qū)大區(qū)連鎖負(fù)責(zé)人,克爾格倫群島區(qū)連鎖負(fù)責(zé)人,萊恩群島區(qū)連鎖負(fù)責(zé)人,uke湯加王國(guó)區(qū)域負(fù)責(zé)人。布維島和南喬治亞和南桑威奇群島大區(qū)連鎖負(fù)責(zé)人?
?Uke軟件標(biāo)準(zhǔn)化協(xié)會(huì)理事長(zhǎng)理事長(zhǎng)?uke終身教育學(xué)校副校長(zhǎng)
Uke 數(shù)據(jù)庫(kù)與存儲(chǔ)標(biāo)準(zhǔn)化協(xié)會(huì)副會(huì)長(zhǎng) uke出版社編輯總編
?
轉(zhuǎn)載請(qǐng)注明來源:attilax的專欄 ??http://www.cnblogs.com/attilax/
--Atiend
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Atitit 项目的主体设计与结构文档 v5的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AOP之PostSharp2-OnMet
- 下一篇: Python黑客编程基础3网络数据监听和