我正面臨以下設計問題:設想一個應用程序有兩個主要部分,一個用於通信(COM)和一個用於用戶界面(UI)。兩者都是不同的庫到不同的文件。現在,我想保持UI模塊化,以便將來能夠使用不同的庫(即GTK,Qt,WinForms等)進行更新。 問題是:與設備的COM接口(可能在不同的時間),並且它必須在應用程序設置窗體/窗口中顯示配置視圖。由於每個新的COM實現可能會因不同的配置數據而不同,因此每個更改都必須反映到設置窗體/窗口中。如何設計一個可以使用多個GUI庫的應用程序?
我該如何保持我的應用程序模塊化,而不必被迫在每個新的COM實現中重新設計整個UI?
我想動態加載一個COM庫和一個設置庫。最後一個將直接取決於當前的COM實現,並與其自己的配置數據進行交互。 如果我更改COM實現,我只需重新實現設置庫,並讓該框架在運行時使用COM加載它。
這個解決方案對我來說有點棘手。你有其他建議嗎?
謝謝你的建議。
您是否建議將配置表單/窗口保存到UI實現中,還是保存到另一個模塊中,該模塊直接取決於COM模塊? – sawk 2014-10-11 08:02:08
@sawk使用UI實現保持UI部分,並將後端功能與後端的其餘部分分開。這樣您就可以在將來更改UI實現,而不必更改任何業務邏輯。 – Floegipoky 2014-10-14 02:41:18
謝謝。實際上我已經移除了動態加載部分,這聽起來有點過分殺死,並且使項目有點過於複雜。創建一個通用配置對象可以包含未來實現的所有內容,這聽起來也是一種矯枉過正。然後我直接讓UI依賴於Core和COM實現。 – sawk 2014-10-14 08:28:26