關於物件的建造模式

ljglory發表於2003-07-03
問題是這樣的,系統中有很多字典,每個字典都是一個Map,map的key和value組成一個字典項。

我使用簡單工廠模式做了一個字典工廠,字典工廠根據使用者輸入產生使用者所需的字典。

字典工廠的職責是,獲取使用者輸入引數(就是一個表示字典名稱的String),然後根據這個字典名稱例項化對應的DAO(透過一串if else語句),使用DAO查詢資料庫中對應字典表,獲得一個List,再把這個List做成一個Map,返回給客戶端。

現在的問題是,在增加字典的時候,如何設計才能保證不用修改字典工廠的程式碼,即對擴充套件開放,對修改關閉?

這個問題與工廠模式已經抽象工廠模式所要解決的問題還不一樣,工廠模式和抽象工廠模式的目的是要建造不同的產品和不同體現的產品。而在這個問題中,產品都是Map,各個產品的區別僅僅在於資料或者說內容的不同。

大家給我出出主意吧,謝啦。

相關文章