2011-02-05 36 views
1

我是學生項目的一部分,我們將爲使用Java EE的公司開發產品。作爲項目中的「首席架構師」,我負責組織一個良好的設計,這對於進一步的擴展應該是靈活的。幫助解決設計問題(擴展通用界面)

背景信息:我們將開發一個帶拖放GUI的網站,可以將數據源與數據操作連接起來,以便對特定數據執行操作。圖形用戶界面應該是通用的,可以與即將推出的產品集成。這意味着我們無法編碼到表示層的實現。相反,我們將使用一個接口來定義對於各種產品可能的數據操作類型。但是,每種產品都可能會對產品進行特定的數據操作(因此可以通過更多方法擴展界面)。

我在上面的場景中遇到的問題是,我沒有看到我們如何將這些「產品特定的數據操作」傳遞給GUI,並且除了通用接口外,我們還擁有這些數據處理操作...

現在我有一些來自公司更多有經驗的程序員的討論,他們告訴我,有這個問題的共同解決方案 - 更具體地說被稱爲「觀察者模式」。他們在白板上畫圖像[1]並解釋說,這將是可能的「註冊」到第三方(getApplicationContext),其反過來又可以傳達我們的產品特定的接口。他們解釋說,這是擺脫那些討厭的循環依賴的常見問題。

我現在已經看了一下觀察者模式,以及它是如何工作的,而且我還沒有真正瞭解我應該如何解決設計問題。有人可能試圖解釋在我的具體情況下會如何發生?瞭解它如何與「主題」和「觀察者」協同工作,我沒有真正的問題。

這裏是我們使用特定產品的參考的設計的UML圖。這是不受歡迎的,也是我們想要解決的問題。

(也許我這都錯了......)

我很抱歉,但因爲我是一個新用戶,我不能圖片更改爲正確的...這是一個更新的UML圖的鏈接:

http://i55.tinypic.com/2mbfno.png

+0

問題太不清楚了嗎?我想這應該是在軟件設計中重新存在的問題...我只是試圖做一個好工作,學習那些我不明白的事情,這樣我就可以進行未來一週儘可能的好。 – Sebastian 2011-02-06 13:07:58

回答