一个设计模式,工厂模式相关的.....

10-03-31 DLUTkaka

最近遇到一个模式的问题,

面对的是很多不同的单据 大概有 6~7个, 每个单据都要去两种类型的数据A,B,其中B数据 同一时间只会有一个单据存在,并且两种数据的取得方法每个单据都不一样,由于用工厂模式很熟悉了,首先就想到了工厂, 每个单据建了一个getter,实现接口IGetter,然后一个工厂返回这些产品。

但是后来发现,这个业务基本上都是要取所有的数据的,而不是只取其中一个单据的。 这样的话,工厂类就没有什么意义了,因为取得数据的时候需要实例化所有的getter,根本就用不到接口。

后来,我把IGetter变成抽象类,在这里判断哪个单据取数据B,在工厂类里面直接返回了所有类的实例,放在链表中, 取数的地方循环取数。

请问这种情况最合适的设计是什么? 我这种方法和工厂模式还有什么关系? 有什么不好的地方?

新手求教, 谢谢。

icycrystal4
2010-04-01 09:39

有多个不同的单据, 每个单据做相同的事情(取数据A,B), 感觉策略模式符合.