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