我必须为客户编写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