設計

2013-06-26 32 views
0

我有哪些用戶可以建立不同的對象的項目。這個應用程序有幾個子窗口,其中一些可以修改一個全局對象。有三種方法可修改此對象:設計

  1. 從數據庫對象加載。 (window1)
  2. 使用帶窗體的窗口(按鈕,lineedit ...)(window2)修改它
  3. 在顯示此對象的圖形窗口的幫助下修改它(例如使用鼠標) (window3)

邏輯是下一步:如果我從數據庫新對象加載,那麼它應該更新window2和window3中的對象。如果我通過window2更改了對象,則應更新window3中的對象,並且應通知window1該對象已更改。如果我通過window3更改了對象,則應更新window2中的對象,並且應通知window1該對象已更改。

現在邏輯是下一個:對象被存儲在全局訪問類(單例)中。窗口通知是通過qt中的信號插槽機制完成的。

有沒有其他的方式來設計它?

回答

1

這很好。但單身人士並不是那麼好的模式。另一種方法是將其中一個窗口作爲共享對象的創建者和所有者,並將指向該對象的指針指向其他窗口。之後,您可以照常初始化信號插槽連接。