好了, 還是繼續(xù)上個帖子的內(nèi)容吧~ 自創(chuàng)的數(shù)據(jù)庫我采用的抽屜式的存儲模式, 有點像磁盤的Fat32那種管理. 靈活性 : 我首先考慮的是存儲的內(nèi)容, 就是說應(yīng)用的時候很明顯會存儲各種類型的數(shù)據(jù), 她可能僅僅是個整型數(shù), 也可能是個字符串, 也可能是個文件, 還有可
好了, 還是繼續(xù)上個帖子的內(nèi)容吧~
自創(chuàng)的數(shù)據(jù)庫我采用的抽屜式的存儲模式, 有點像磁盤的Fat32那種管理.
靈活性: 我首先考慮的是存儲的內(nèi)容, 就是說應(yīng)用的時候很明顯會存儲各種類型的數(shù)據(jù), 她可能僅僅是個整型數(shù), 也可能是個字符串, 也可能是個文件, 還有可能本身就是個結(jié)構(gòu),數(shù)組,類什么的...如此多的類型就要求存儲結(jié)構(gòu)的靈活性. 相當(dāng)于抽屜里可以裝任何形狀和大小的東西.
固定性: 靈
延伸性: 不能像現(xiàn)實中的抽屜那樣, 木匠一開始就設(shè)計好整個抽屜的格數(shù)和邊框大小, 那么抽屜的單位大小和總個數(shù)就限制了, 這在實際數(shù)據(jù)存儲應(yīng)用中是相當(dāng)不利的. 那么就需要數(shù)據(jù)庫有幾乎無限的擴展延伸功能, 這就相當(dāng)于這抽屜可以有無數(shù)個小格, 并且每個小格可以無限制的放大.(受整個房間的限制, 相當(dāng)于硬盤這種存儲物理介質(zhì)).
從實現(xiàn)上面三點的角度出發(fā), 我覺得基本上滿足應(yīng)用需求對數(shù)據(jù)結(jié)構(gòu)的要求了. 于是乎, 就開始原理圖(又不是電路板, 要什么原理圖啊...), 流程應(yīng)用圖, 你知道, 自己做個事情流程規(guī)范什么的也是隨機應(yīng)變的...然后編碼實現(xiàn), 測試. 結(jié)論是可行.
然后將核心算法優(yōu)化后以動態(tài)鏈接庫的方式實現(xiàn)了, 加上UI構(gòu)成了一個完整的數(shù)據(jù)管理工具.
很遺憾的事我現(xiàn)在使用的VB語言, 計算效率低下這是眾所周知的, 于是我后續(xù)又將代碼用C++語言實現(xiàn)了, 效率就是高啊~
你可能要問了, 就是個數(shù)據(jù)存儲搞那么復(fù)雜干嘛? 我會告訴你: 使用簡單方便, 誰用誰知道~
回溯到我開發(fā)游戲時的問題: 1. 圖片聲音等文件的整合存儲: 那么幾百上千張的圖片(人物圖, 背景貼圖, 界面圖)終于可以很簡單的從預(yù)先用工具存儲好的數(shù)據(jù)庫中讀取了, 僅僅需要一句代碼就行. 這還不方便嗎? 而且數(shù)據(jù)庫是個獨立的文件, 發(fā)布的時候很美觀簡潔. 相信真正資深的Dota程序猿玩家一定會知道WAR3.MPQ這種文件是干什么的, 沒錯, 就是類似資源數(shù)據(jù)庫的作用, 里面有圖片, 聲音, 甚至是3D模型. 2. 數(shù)據(jù)庫內(nèi)容的讀取: 現(xiàn)在我就可以方便的在程序里讀取數(shù)據(jù)庫里的內(nèi)容進(jìn)行使用了. 比如存的圖片我可以直接讀取到BitMap里, 也可以讀取到IPicture里, 聲音文件甚至可以直接PlaySound就播放了, 這是何等的愜意啊. 3.壓縮和加密: 通過使用修改過的AES加密算法和修改過的Zlib壓縮算法, 對數(shù)據(jù)庫的內(nèi)容安全也做到了保障. 4. 存儲的多樣性, 除了一般的數(shù)據(jù)和文件, 甚至可以直接存儲和讀取C++中的Struct結(jié)構(gòu)體, 類, 這讓編程方便度大大提高啊.
程序構(gòu)成:
主界面:
數(shù)據(jù)界面:
文件管理組件:
未完待續(xù)...(下一個帖子描述我開發(fā)可靠UDP通訊和P2P模式的應(yīng)用...)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com