日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

delphi 项目软件架构升级-行业软件

發布時間:2023/12/29 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delphi 项目软件架构升级-行业软件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

五一期間記錄
19年7月到新公司,居然是用delphi寫的行業軟件。軟件架構為直連數據庫ADO+mssql的方式。
delphi部分:前臺端、應用端、自助機、后臺管理端、硬件控制部分。
線上部分mysql:php網上商城、微信公眾平臺。
軟件涉及的技術相當’全面’,代碼風格百花齊放,變量名稱應有盡有,控件的用法也是各盡其能,整個系統沒有數據庫表說明、開發文檔、流程圖,比較統一的就是基本沒有注解(其中一個寫注解的我還認識,大概的記錄了一些功能說明),大量的屏蔽代碼,與exit后的代碼。
據說是由delphi 7升級到xe2的。軟件模式停留在20年前(個人認為)的樣式和用戶習慣,既單界面模式,打開結賬功能就只能結賬,如果想看別的數據,只能退出。
剛開始我只是接手后臺管理端,主要是大數據統計。剛開始的時候確實有風中飄零的感覺,沒有任何數據庫說明情況下要統計。
界面改造:所有界面標簽化,由單界面變化為多界面應用
數據庫表記錄:所有我用過的表和字段記錄下來。自己建立的表格,記好說明,因為我是新人,只能從自己做起了。
數據表升級改造:以前的方法是,有幾個數據庫升級程序,挨個執行,然后根據一個數據表比對軟件補全缺的內容。改造為在后臺的單獨功能,一鍵升級。
統計方式改造:前人都是sql高手,統計都是一條語句+數據控件。我的SQL水平還停留在SELECT 水平,而且我基本不用數據敏感控件(也是因為用不明白)。
統計方式改造版本一:1、用ADO提取數據。2、根據需求進行統計。作了幾個需求后,發現需求當中有很大一部分是重復的,比如營業額、人數等。
版本二:不考慮整體需求,將需求拆解成可復用的多個函數,比如營業額函數、人數統計函數。幾個需求后發現,代碼復用率是提高了,但如果統計的數據較多,相當占用時間。
版本三:函數繼續拆解,1、用ADO提取數據到內存中。2、在內存中進行數據格式化。3、所有函數對格式化后的數據進行統計。這回變成了提取一次數據,進行N次統計。然后發現大部分的時間都浪費在了取數據。繼續優化,1、關閉ADO控件的敏感數據連接。2、開啟ADO數據緩存。這兩步完成基本上速度就差不多了。3、在ADO數據集的內存表中直接操作(需要對SQL語句進行修改)。
涉及DELPHI技術:TLIST指針的應用,必須保證不存在內存泄露。ADO數據集的操作,保證沒有NULL數據。
進行了一段時間,發現有的功能在前臺、后臺、應用端等都需要,每次改完代碼都得COPY幾次,難免會有遺漏。如果線上部分也需要這個統計,我還得先講解一下統計算法,避免統計結果不一樣。
版本四:采用SOA(面向服務),restful api 接口,所有功能以服務的形式對外提供。避免了各端與線上總修改來修改去的情況。
涉及DELPHI技術:snapdata、rest控件等。編碼部分是最煩人的。
整體過程是一個由點及面的過程,由一個個的需求,最后帶動整體軟件架構的選擇。

其實什么架構無所謂,能解決問題就好。

待續

總結

以上是生活随笔為你收集整理的delphi 项目软件架构升级-行业软件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。