請教關於工廠模式中建立物件需要不同引數的問題
大家好
我在使用工廠模式的時候有些不明白的地方,比如我的工廠模式建立類A,B,C的例項,他們都有介面I,但是建立A不需要引數,建立B需要1個引數,建立C需要2個引數,那我工廠類為虛擬碼大概寫成這個樣子:
然後到了後面,我又多了D和E的實現,但是D需要3個引數,E需要4個引數,這樣我就要改工廠類的方法變成:
這樣我之前的建立A,B,C的程式碼也要修改了,我總覺得這樣不對,但是又不知道要怎麼改,請大家指點一下
我在使用工廠模式的時候有些不明白的地方,比如我的工廠模式建立類A,B,C的例項,他們都有介面I,但是建立A不需要引數,建立B需要1個引數,建立C需要2個引數,那我工廠類為虛擬碼大概寫成這個樣子:
public static I createI(int type, Object param1, Object param2){ if (type == 1) { return new A(); }else if (type == 2) { return new B(param1); }else if (type == 3) { return new C(param1, param2); }else { //exception } } <p class="indent"> |
然後到了後面,我又多了D和E的實現,但是D需要3個引數,E需要4個引數,這樣我就要改工廠類的方法變成:
public static I createI(int type, Object param1, Object param2, Object param3, Object param4){ if (type == 1) { return new A(); }else if (type == 2) { return new B(param1); }else if (type == 3) { return new C(param1, param2); }else if (type == 4) { return new D(param1, param2, param3); }else if (type == 5) { return new E(param1, param2, param3, param4); }else { //exception } } <p class="indent"> |
這樣我之前的建立A,B,C的程式碼也要修改了,我總覺得這樣不對,但是又不知道要怎麼改,請大家指點一下
相關文章
- 請教一個關於工廠模式的問題模式
- 請教Banq工廠模式中的一些問題模式
- 請教一個關於EJB建立物件時的問題物件
- 【Python設計模式】03 工廠模式:建立建立物件的工廠Python設計模式物件
- 關於我寫的工廠模式的奇怪問題??模式
- 請教IoC模式中的問題模式
- 探討工廠模式的物件建立模式物件
- 關於抽象工廠的問題抽象
- JavaScript建立物件(一)——工廠模式JavaScript物件模式
- 請教關於Jive中過濾器的問題過濾器
- 請教關於快取的問題快取
- 請教關於ibatis的問題BAT
- 請教banq 抽象工廠模式怎樣和工廠方法模式配合使用抽象模式
- 請教 NIO 中物件流通訊的問題物件
- 請教關於Singleton模式和synchronized static 方法的問題模式synchronized
- 請教一個在Tiles中引數傳遞的問題
- 請教banq關於domain object的問題AIObject
- 請教高手 關於STRUTS DATASOURCE的問題
- 請教大家關於java效能的問題Java
- 關於工廠模式的思考模式
- 請教有關template設計模式的問題設計模式
- 關於抽象工廠的一個問題?抽象
- 請教關於jb中開發ejb的一個問題
- Abstract Factory(抽象工廠)——物件建立型模式抽象物件模式
- 請教關於JBuilder9關於CVS的問題UI
- 請教關於jive版主設定的問題。
- 關於在request請求時,處理請求引數的問題
- 工廠模式-將物件的建立封裝起來模式物件封裝
- 請教:關於排課問題的實體關係
- 請教banq問題,關於hibernate的jdbc的JDBC
- 請教一個關於JAVA SOCKET程式設計中的問題Java程式設計
- 請教一個JSF引數傳遞的問題JS
- 建立型:工廠模式-工廠方法、抽象工廠模式抽象
- 請教一個關於執行緒的問題執行緒
- 關於Java communications API的問題,請教高手JavaAPI
- 初學,一個關於RMI的問題請教!!!
- 請教關於資料庫連線的問題資料庫
- 請教:關於物件導向的分析方法物件