CAL (Composite Application Library) 提供基礎組件與服務,典型架構包含:
Shell 提供基礎佈局,由 Region 定義佔位,模組向 Region 注入 View。通常包含應用基礎樣式統一風格。Shell、View、Region 關係:Shell 含多個 Region,每個 Region 可宿主多個 View。
每個應用擁有專屬 Bootstrapper(繼承 UnityBootstrapper),定義模組枚舉策略(靜態引用/配置檔/掃描資料夾)。預設啟用所有 CAL 基礎服務,可透過重寫客製化或替換。內建日誌採 TraceWriter,可自訂。
語法上實作 IModule。模組負責將自有 View 注入 Shell 或其他模組 Region。Prism 範例多採 MVP 模式建構模組內部結構。
基本同一般 WPF 桌面應用,但因模組間鬆耦合(配置檔無直接引用),打包工具可能無法自動偵測關聯模組,CAL 提供工具與技術解決。