我必須爲客戶編寫2個文本文件。這些文件包含我們數據庫的信息。我們的應用程序正在被許多客戶使用,因此不會爲每個客戶編寫這兩個文件。有些只是得到第一個文件,有些也是第二個文件。文件結構因客戶不同而不同,這就是爲什麼我用抽象方法爲抽象類編寫以及爲每個客戶指定了寫入方法的特定類。這是針對所有客戶的第一個文件,只是內容和結構不同而已。這是裝飾者模式的一個很好的用法嗎?
abstract class CustomerWriter
{
//...
abstract Write();
//...
}
然後,我有2個類繼承了那個。這很好,我猜。現在只需要爲某些客戶編寫第二個文件...在這裏使用裝飾器模式併爲第一個文件裝飾類是一個好主意?它不是相同的基類(CustomerWriter)。我不確定這對我的情況來說太過分了,這就是爲什麼我問。
我將如何裝飾第一個文件的特定類?
感謝:-)
可能會做,但我上面添加第二個文件,我有anoher基類...它不是一個CustomerWriter。 – grady 2011-03-22 08:01:48
但它給了我一個想法......我可以做到這一點只是爲了第二。這將是很好,如果這是可配置的我的配置文件...有沒有一個常見的方法來做到這一點? – grady 2011-03-22 08:03:48
那麼,爲什麼你的第二個文件的作者有不同的基類?第二個概念不同?如果你需要另一個基類(無論出於什麼原因),那麼你可以考慮爲你所有的作者引入一個ICustomerWriter接口。至於配置文件:我不認爲有這樣做的常見方式。如果您使用IoC容器,那麼這些容器通常會支持某種xml配置,但您可能只需添加一些設置即可選擇所有適用的作者。 – ChrisWue 2011-03-22 08:23:36