請教benq大哥strategy模式在實際中的一個應用
mvc結構中,向資料庫中匯入檔案時,需要針對table來匯入,先考慮簡單的情況,即一個檔案只對應一個表。
現有四個檔案,分別要匯入四個表格中(他們的欄位不同),這時就表示要有四種不同的方法來分別處理四個不同的表格。
按照strategy模式的邏輯,可以將四種不同的處理表格的方法分別包裝到四個類中,暫且分別叫他們StuModel, TchModel, EntModel, FamiModel,然後為這四個類抽象出一個介面,名為Model,然後在ImportExcel中使用類似如下的程式碼使用Model類:
public class ImportExcel{
private Model=null;
ImportExcel(Model aModel){
Model=aModel;
}
public doImport(){
……
}
……
}
我有幾個問題,
第一個問題是,我不確定我對strategy模式的理解準不準確,使用的是不是正確。
第二個問題是,在這種情況中使用strategy模式有沒有問題。
第三個問題是,strategy模式是用來方便的更換演算法的,通常來說是根據使用者的不同需要,跟使用者進行互動,由使用者來選擇一種演算法,比如說gui上使用一個下拉選單,上邊列出了若干演算法,這個時候確定按鈕中應該如何處理使用者在下拉選單中的選擇,建立不同型別的Model?(下拉選單中通常傳回的是String吧?不知有沒有方法直接傳回相應的Model類,JComboBox在列表中顯示時是呼叫Objct.toString()來顯示add()到其中的Object嗎?)我猜是使用Class.forName(),不知對不對:)
第四個問題是,如果在沒有使用者互動的情況下使用strategy模式有什麼優勢。
問題多了點,而且很初級,請不吝賜教,謝謝了先。
現有四個檔案,分別要匯入四個表格中(他們的欄位不同),這時就表示要有四種不同的方法來分別處理四個不同的表格。
按照strategy模式的邏輯,可以將四種不同的處理表格的方法分別包裝到四個類中,暫且分別叫他們StuModel, TchModel, EntModel, FamiModel,然後為這四個類抽象出一個介面,名為Model,然後在ImportExcel中使用類似如下的程式碼使用Model類:
public class ImportExcel{
private Model=null;
ImportExcel(Model aModel){
Model=aModel;
}
public doImport(){
……
}
……
}
我有幾個問題,
第一個問題是,我不確定我對strategy模式的理解準不準確,使用的是不是正確。
第二個問題是,在這種情況中使用strategy模式有沒有問題。
第三個問題是,strategy模式是用來方便的更換演算法的,通常來說是根據使用者的不同需要,跟使用者進行互動,由使用者來選擇一種演算法,比如說gui上使用一個下拉選單,上邊列出了若干演算法,這個時候確定按鈕中應該如何處理使用者在下拉選單中的選擇,建立不同型別的Model?(下拉選單中通常傳回的是String吧?不知有沒有方法直接傳回相應的Model類,JComboBox在列表中顯示時是呼叫Objct.toString()來顯示add()到其中的Object嗎?)我猜是使用Class.forName(),不知對不對:)
第四個問題是,如果在沒有使用者互動的情況下使用strategy模式有什麼優勢。
問題多了點,而且很初級,請不吝賜教,謝謝了先。
相關文章
- 策略模式在實際業務中的應用模式
- 策略模式在業務中的實際應用模式
- benq大哥,幫忙,請進入,謝謝!ENQ
- 請benq大哥說得明白點,謝謝ENQ
- banq大哥,請教一個關於jboss ide的問題IDE
- 策略模式解析以及在Android中的實際應用模式Android
- 請教benq資料庫設計ENQ資料庫
- bang 大哥請教一下spring的AOPSpring
- 觀察者模式解析以及在Android中的實際應用模式Android
- 請教這個應用技術如何實現?
- Linux在實際中的應用Linux
- 請教banq大哥SOAP和HTTPHTTP
- 一個遊戲系統,向Banq大哥,以及感興趣的朋友請教!遊戲
- 策略模式在應用中的實踐模式
- benq,你好!框架中有關 getDataSource()問題請教一下ENQ框架
- 請教一個在Tiles中引數傳遞的問題
- 請教設計一個流程多變的模式模式
- 請教一個DAO設計模式的問題設計模式
- 請教banq大哥,領域模型的設計模型
- 請教一個軟體應用如何在多個網站複用網站
- 設計模式在vue中的應用(一)設計模式Vue
- 請教IoC模式中的問題模式
- Runtime在實際開發中的應用
- 請教在Composite模式裡的例子模式
- 觀察者模式的實際應用模式
- 請教一個關於工廠模式的問題模式
- 關於就業的兩個方向選擇,想請教一下benq和各位前輩就業ENQ
- 請教strategy 和 bridge的區別
- Nuxt配合Node在實際生產中的應用UX
- 並查集在實際問題中的應用並查集
- JNI解析以及在Android中的實際應用Android
- benq大哥,第七章問題求教ENQ
- 請教banq老師和各位大哥,以下需求應該怎麼分析
- 請教Banq工廠模式中的一些問題模式
- 請教banq大哥:資料庫設計的問題!!!資料庫
- 請教banq 大哥,在jdbc開發中,過多使用static方法會有什麼問題?JDBC
- MVC模式在Java Web應用程式中的實現MVC模式JavaWeb
- 請教一個timeout的實現問題