關於物件的建造模式
問題是這樣的,系統中有很多字典,每個字典都是一個Map,map的key和value組成一個字典項。
我使用簡單工廠模式做了一個字典工廠,字典工廠根據使用者輸入產生使用者所需的字典。
字典工廠的職責是,獲取使用者輸入引數(就是一個表示字典名稱的String),然後根據這個字典名稱例項化對應的DAO(透過一串if else語句),使用DAO查詢資料庫中對應字典表,獲得一個List,再把這個List做成一個Map,返回給客戶端。
現在的問題是,在增加字典的時候,如何設計才能保證不用修改字典工廠的程式碼,即對擴充套件開放,對修改關閉?
這個問題與工廠模式已經抽象工廠模式所要解決的問題還不一樣,工廠模式和抽象工廠模式的目的是要建造不同的產品和不同體現的產品。而在這個問題中,產品都是Map,各個產品的區別僅僅在於資料或者說內容的不同。
大家給我出出主意吧,謝啦。
我使用簡單工廠模式做了一個字典工廠,字典工廠根據使用者輸入產生使用者所需的字典。
字典工廠的職責是,獲取使用者輸入引數(就是一個表示字典名稱的String),然後根據這個字典名稱例項化對應的DAO(透過一串if else語句),使用DAO查詢資料庫中對應字典表,獲得一個List,再把這個List做成一個Map,返回給客戶端。
現在的問題是,在增加字典的時候,如何設計才能保證不用修改字典工廠的程式碼,即對擴充套件開放,對修改關閉?
這個問題與工廠模式已經抽象工廠模式所要解決的問題還不一樣,工廠模式和抽象工廠模式的目的是要建造不同的產品和不同體現的產品。而在這個問題中,產品都是Map,各個產品的區別僅僅在於資料或者說內容的不同。
大家給我出出主意吧,謝啦。
相關文章
- 複雜物件的組裝與建立——建造者模式(三)物件模式
- 複雜物件的組裝與建立——建造者模式(二)物件模式
- 複雜物件的組裝與建立——建造者模式(一)物件模式
- 如何使用建造者模式構造複雜物件?模式物件
- 建造者模式模式
- 設計模式系列之建造者模式(Builder Pattern)——複雜物件的組裝與建立設計模式UI物件
- 設計模式-建造者模式設計模式
- 設計模式 --建造者模式設計模式
- 設計模式----建造者模式設計模式
- 設計模式 —— 建造者模式設計模式
- 設計模式(建造者模式)設計模式
- 設計模式 | 建造者模式設計模式
- 建立型模式——建造者模式模式
- 建造者模式(Builder)模式UI
- (一)建造者模式模式
- JS 建造者模式JS模式
- 4、建造者模式模式
- Java建造者模式Java模式
- 我的Java設計模式-建造者模式Java設計模式
- 設計模式:建造者模式及在jdk中的體現,建造者模式和工廠模式區別設計模式JDK
- 設計模式之建造者模式設計模式
- java設計模式-建造者模式Java設計模式
- 設計模式之【建造者模式】設計模式
- 設計模式(六)——建造者模式設計模式
- 設計模式(十六):建造者模式設計模式
- 設計模式-建造者模式(Builder)設計模式UI
- 建造者模式(Builder Pattern)模式UI
- 用建造者模式的思想改造構造方法。靈活,快捷的鏈式建立物件模式構造方法物件
- 設計模式實戰 - 建造者模式設計模式
- GoLang設計模式01 - 建造者模式Golang設計模式
- 設計模式--建造者模式(Builder Pattern)設計模式UI
- Java 設計模式(二)《建造者模式》Java設計模式
- golang設計模式之建造者模式Golang設計模式
- 極簡設計模式-建造者模式設計模式
- Python設計模式-建造者模式Python設計模式
- Java設計模式----建造者模式(Builder)Java設計模式UI
- JAVA設計模式之建造者模式Java設計模式
- 設計模式系列之「建造者模式」設計模式