草庐IT

AlgorithmInterface

全部标签

c++ - 哪种设计模式最合适?

我想创建一个可以使用四种算法之一的类(并且要使用的算法仅在运行时已知)。我当时认为Strategy设计模式听起来很合适,但我的问题是每个算法需要的参数略有不同。使用策略,但将相关参数传递给构造函数是否是一个糟糕的设计?。这是一个例子(为简单起见,假设只有两种可能的算法)...classFoo{private://Atrun-timethecorrectalgorithmisused,e.g.a=newAlgorithm1(1);AlgorithmInterface*a;};classAlgorithmInterface{public:virtualvoidDoSomething()=0