我想爲我的應用程序實現觀察者模式。由於我的代碼很大,我將對這個問題進行總結。 因此,我必須製作一個管理老闆和一些員工之間關係的應用程序。 爲此,我爲老闆和員工都有兩個獨立的gui。爲我的應用程序實現觀察者模式的解決方案
當我在申請午餐時,我創建了兩個loggins,一個給老闆,一個給員工。如果老闆的登錄成功,那麼它將創建一個新的Gui Boss框架
如果員工登錄成功,則會顯示新的Gui員工。我想要做的是爲新創建的Gui員工(可觀察到)添加一個觀察員(Gui Boss)。 下面是我的一些代碼,以更好地解釋:
//in Application.java
public static void main(String args[]){
........
LoginBoss lb = new LoginBoss(contrb); //contrb is boss controller
lb.setVisible(true);
LoginEmployee le = new LoginEmployee(contre); //contre is employee controller
le.setVisible(true);
}
//In LogginBoss.java
//after i check if it's ok i create a new gui boss
guiB = new GuiBoss(contrb,boss); //contrb is boss controller passed from loggin boss
guiB.setVisible(true);
//In LogginEmployee.java
///after i check if it's ok i create a new gui employee
guiE = new GuiEmployee(contre,employee);
guiE.setVisible(true);
//now i whant to add for guiE an Gui Boss observer, something like guiE.addObserver(guiB);
如果您有任何ideeas請讓我know.I'm對不起我的英語。
也是這個[答](http://stackoverflow.com/a/3072979/230513)。 – trashgod
用戶界面(視圖)不應該是可觀察的,而應顯示數據(模型)。所以如果員工的數據發生變化,老闆的用戶界面就會得到通知。您可能希望重新考慮您的設計,並可能暗示一些角色概念(老闆,員工),併爲每個目的只使用一個用戶界面。一個簡單的角色概念可以通過繼承實現 - >'Boss extends Employee' +對於View和Model以及覆蓋功能應該擴展的方法。 – A4L