2011-11-04 175 views
1

如果我有一個GUI構建器,它構建了我的第一個接口,並且該接口附加了一個觀察器,該觀察器檢測該接口中的某個字段何時更新,然後我必須執行以下操作之一;觀察者模式混淆

1)從構建器創建接口1,然後附加一個觀察者,以便構建者可以知道某個任務何時完成 2)我只是創建一個觀察者,然後觀察者創建接口?

基本上我試圖從生成器創建一個接口,然後,在點擊按鈕上去獲取一些數據。當檢索到這個數據時,我想讓構建器類知道它可以繼續使用它來構建接口2.我正在嘗試使用觀察器設計模式來執行此操作。

感謝

回答

3

您應該創建界面,然後添加(或註冊/附後)有關觀察員之後。像(在僞代碼中);

GUI mygui = GUIBuilder.createNewGUI(); 

ButtonListener OK = new OKButtonListener(); 
ButtonListener Cancel = new CancelButtonListener(); 
DataListener dataReady = new dataReadyListener(); 

mygui.registerButtonListener(OK); 
mygui.registerButtonListener(Cancel); 
mygui.registerDataListener(dataReady); 

mygui.show(); 

如果你正在建設都將附加相同的聽衆圖形用戶界面,可以讓界面生成器創建和附加偵聽器的你。

+0

對這裏缺乏理解感到抱歉,但是這一切都在建設者類中進行。我只是擔心,建設者階層的聽衆違反責任驅動設計 – Biscuit128

+0

XXXListener類是觀察員。 mygui是可觀察的。 – Robin

+0

所以我們有一個觀察者類用於我們要監視的每個控件? – Biscuit128