軟體工程歷經模組化、物件導向、組件導向三大浪潮。組件化程式設計結合物件技術與組件技術,回應現代企業級應用對靈活部署、版本隔離、跨語言互操作的核心需求。
三層為組件化落地的經典邏輯模型,物理部署可彈性對應單機/叢集/雲端。
| 特徵 | 內涵 |
|---|---|
| 語言/環境獨立 | 組件不綁定特定語言 |
| 位置透明 | 本地/遠端調用統一 |
| 進程透明 | 跨進程/機器無感 |
| 可擴充 | 新增組件不修改既有 |
| 可重用 | 跨專案/產品復用 |
| 強基礎設施 | 交易、安全、訊息、持久化 |
| 系統級服務 | 命名、目錄、事件、生命週期 |
C# 非「組件程式語言」,亦無內建組件工具。但 C# + .NET 執行環境極佳支援組件規範實現:interface、assembly、attribute、reflection、泛型、非同步等特性,讓組件開發高效、型別安全、版本友好。
記住:組件模型是規範,語言只是實現工具。如同電腦組裝遵循統一介面標準,組件程式設計遵循 COM/.NET 組件規範。