我有一個要求以各種格式保存圖像文件。 格式列表可能會經常更改,所以我希望這種保存會非常可擴展。 此外,保存可以發生在許多地方(硬盤,FTP,HTTP等)。保存位置的列表也將經常改變。設計模式適合任務
我想我會使用基底圖像類和很多派生類每種格式:
ImageBase {}
JpegImage : ImageBase {}
TiffImage : ImageBase{}
和處理每個子類中適當地保存到格式。 這是一個很好的設計desicion?
另外,我怎樣才能附加一個可擴展的保存位置機制(Ftp,文件共享等)?
我想是這樣的:
var image=ImageBase.GetImageFromDisk(path);
//some casting to subclass maybe??
var tiffImage=image as TiffImage;
tiffImage.Location=new FtpLocation();//not sure if this is a good idea
tiffImage.Save();
這裏的問題是,具體的影像實現不應該知道或關心的保存位置。 在圖像子類上調用Save();
時,我想將作品委託給某個類,如FtpLocation
。
請指教如何把碎片放在一起。
謝謝。
瓦倫丁。
女士們是不是可以回答這個問題? ;) – 2009-01-24 08:26:35