使用何種模式,問題新描述?

myzhai發表於2004-02-29
上述問題沒有描述地特別清楚。
我們的問題是:
我們需要讀/寫一個檔案file,這個檔案可能在本地,也可能在遠端一臺計算機上。抽象類CFileProcess是父類,有兩個操作readFile()和writeFile(). 兩個子類CLocalFileProcess和CRemoteFileProcess繼承了父類CFileProcess. 如果使用設計模式,是選擇Factory Method還是Strategy模式,為什麼?
謝謝!

----------
myzhai

發表文章: 1
註冊時間: 2004-02


使用那種模式? 發表時間: 2004年02月28日 16:31:45 回覆

有個問題請教。
在我們開發的系統中有一個這樣的需求:
系統執行中客戶需要寫本地檔案或者另一臺計算機的遠端檔案,也可以一部分資料寫入本地檔案,另一部分資料寫入遠端檔案。我們設計了兩個類:LocalWrite和RemoteWrite來完成這個任務。使用者寫本地檔案例項化類LocalWrite,寫遠端檔案例項化類RemoteWrite,或者同時例項化這兩個類。
現在我們希望利用模式設計的思想來重新設計我們的方案,為了滿足上述要求,我們該採用哪個模式呢?是strategy還是Factory Method?這兩個模式有什麼區別?希望賜教。



bruce


發表文章: 190
註冊時間: 2003-05


Re: 使用那種模式? 發表時間: 2004年02月28日 22:42:18 回覆

Strategy 是透過聚合傳引數的方式, 然後使用多型的方式, 例項化成不同的子類, 透過這樣達到一種動態的面向介面的程式設計. 這在設計模式中用的很多, Factory Method相對簡單, 沒有使用聚合傳引數方式, 只用到了多型.
還有一種更復雜的方式就是: 聚合傳引數+多型+重定向(delegation), 象visitor.

__________________
學而不思則罔,思而不學則呆


banq


發表文章: 2231
來  自: 上海
註冊時間: 2002-08


Re: 使用那種模式? 發表時間: 2004年02月29日 09:58:19 回覆

strategy比較合適

__________________
原創J2EE電子教程 http://www.jdon.com/ejbtur.htm

相關文章