有时我们设计多个算法来获得相同的结果。例如,我编写了一个将数据存储在树中的类,另一个类存储了大致相同的数据,例如链接列表。使用类/方法的不同实现的设计模式
我将发布一个名为ThingStore的接口(抽象类),并将其分类为TreeThingStore和ListThingStore,每个分别使用树或链接列表。因为我发布了一个抽象类,所以我必须有人来决定使用哪个实现(EDIT:因此调用者不会在乎这个),并且我没有这个问题硬编码。我不止一次需要这个,但我已经看不清楚GoF和其他设计模式目录。最相似的模式是“策略”模式,但它实现了多种目标。
那么,这种意图是否有设计模式?如果不是,有人可以创建一个或告诉我为什么不应该这样做(或更好的方法来实现相同的结果)?
也许我还没有明确表态。来电者不在乎我如何实施。这正是我需要某种方式的原因,以便它创建一个对象而不关心它将使用哪种算法 – 2010-01-07 11:14:46
也许一个实现是基本和免费的,您需要为另一个实现付费。 – 2017-09-05 15:18:21