網頁

2026/04/17

【打造 DataSnap 平替方案】Day 1:決戰版控夢魘—用 Boss 解決 3rd 元件的版控地獄

作者:吳祐賓

 


 

 

昨天又被 3rd Party 元件版本問題搞得有點煩。

以前大家習慣全域裝一套元件,所有專案共用,結果不同專案要不同版本時就亂成一團。

如果你曾經歷過以下事情:

 

  • Delphi 7 升級到 XE 以上
  • DevExpress VCL 或 Github 開放專案 (如 mORMot, Spring4D等) 元件底層大改版

 

那你一定會感受到來自工程師的怨念。絕對!


Delphi Boss 套件庫工具 -- 將 npm 概念加入 Delphi


Boss Logo -- from Github


Boss 這工具就是專門來處理這件事的。它讓每個專案都能有自己獨立的元件版本,概念很像 Node.js 的 node_modules。

 

例如:A 專案和 B 專案同時用到 C 的 3rd 元件,但 C 的 2.0 和 3.0 的函式名稱大改變,以前沒有 Boss 時,通常我們只會選擇其一,然後就用到逼不得已再升級(降級)。

 

現在使用 Boss,你就可以在專案中安裝 3rd 元件的指定版本,每個專案都各自安放獨立的 3rd 資料夾。

 

  • 好處:可維護性提高,不需要每次開專案都擔心缺失元件的問題
  • 代價:元件原始碼會因每個專案都有一份,重複檔案會造成硬碟空間佔用

 

除非你是程式碼潔癖癌末患者,我認為現在硬碟動不動就幾個 TB 的時代,用空間換版本更替掃雷時間,這投報率太高,你不用看看嗎?