我有許多GUI類正在訪問從其構造函數中設置的相同信息對象。每個GUI類以不同的方式顯示gui信息對象。在對象之間傳遞對象
每次在構造函數中初始化對象還是僅將對象添加到內存並在每次GUI類需要時使用它都更好?兩種方法都屬於設計模式嗎?
我有許多GUI類正在訪問從其構造函數中設置的相同信息對象。每個GUI類以不同的方式顯示gui信息對象。在對象之間傳遞對象
每次在構造函數中初始化對象還是僅將對象添加到內存並在每次GUI類需要時使用它都更好?兩種方法都屬於設計模式嗎?
即使在特定對象的設計模式閱讀本文之前,一個很好的起點是對MVC(模型 - 視圖 - 控制器)模式閱讀起來。它可能是那裏最常用的架構模式,谷歌搜索將帶來大量的好材料(在這種情況下,Wikipedia甚至會是一個好的開始)
它用於解決您已經暗示的問題在,你的各種顯示邏輯必須經常訪問相同的信息保存邏輯。在使用MVC架構的應用程序中,您的代碼(或多或少)分爲三類,在UI中顯示信息的代碼,保存(或模型化)信息的代碼以及控制應用程序和應用程序流的代碼事件。 MVC應用程序通常使用監聽器和其他事件設計模式,就像上面提到的一樣。
我會建議依賴注入,那裏有很多框架。我最喜歡的是guice,但是YMMV。
如何使用策略模式?基本上只是限定了一組類,從相同的接口繼承如
public interface GUIBehavior {
}
//組類
public behavior1 implementse GUIBehavior...
//在該顯示信息簡單地設置一個屬性的行爲clases
private GUIBehavior myCurrentBehavior;
感謝您的回答,但我不明白這是如何回答原來的問題?你能詳細說明嗎? –
@ user470184由於每個GUI都在執行自己的行爲,因此可以將這些行爲分爲一組類。如果您希望在運行時改變這種行爲,您可以簡單地將該屬性指向新的行爲。 –
第二種方式可能是singleton模式。你應該儘量避免單身人士。 –
那麼現在每個GUI類都在其構造函數中創建該對象的一個新實例?但是對象中的信息總是一樣的? –
@Damokles對象始終是相同的類型,但其某些成員變量對於每個GUI類將具有不同的值。 –