這項服務可以處理的問題
- 無法立即捨棄 COM / ActiveX / OCX
- 32 位元相依阻擋了 64 位元化
- 不確定如何將 C++ 資產與 .NET 乾淨地連結起來
- 希望在不破壞累積行為的前提下分階段遷移
基本的做法
對遺留資產而言,整套替換常常不是第一個可行的做法。
首先要釐清:
- 該資產只是 UI 元件,還是包含真正的業務與設備行為
- 是否真的必須維持 in-proc
- 32 位元 / 64 位元邊界應該在哪裡跨越
- 正確答案是 Wrap、隔離還是階段性替換
特別適合的主題
- 以 COM / ActiveX / OCX 為基礎的系統
- C++ 與 C# 之間的邊界設計
- C++/CLI Wrapper 策略
- 32 位元 / 64 位元互通規劃
- 階段性替換規劃
適合的情境
- 既有資產中包含無法輕易替換的重要行為
- 當下目標是安全延長與邊界整理
- 未來可能會整個替換,但需要先有一座穩定的橋
想達到的狀態
理想結果不是「把舊的全部丟掉」, 而是 繼續沿用仍有價值的資產,同時整理掉讓系統痛苦的邊界。
這樣通常會得到:
- 更容易維護
- 看得見的遷移順序
- 長期替換成本降低