アルゴリズムのパラメーター設定を独立したクラスとして定義するのが良い方法であるかどうか疑問に思っていました。次のコードを使用して質問を説明します。
using namespace std;
class Parameters
{
public:
Parameters():a_para_(0),b_para_(0) {};
~Parameters() {};
Parameters(const Parameters ¶)
{
a_para_ = para.a_para_;
b_para_ = para.b_para_;
}
void set_a_parameter(int a)
{
a_para_ = a;
}
void set_b_parameter(int b)
{
b_para_ = b;
}
private:
int a_para_;
int b_para_;
};
class Algorithm
{
public:
Algorithm() {};
~Algorithm() {};
void set(const Parameters ¶)
{
para_ = para;
}
void run()
{
}
private:
Parameters para_;
};
int main()
{
Parameters para;
para.set_a_parameter(3);
para.set_b_parameter(4);
Algorithm fun;
fun.set(para);
fun.run();
return 0;
}
背後にある哲学は、パラメーター設定とアルゴリズムの実装を分離できるということです。この設計戦略について経験豊富なプログラマーと話し合ったところ、彼はパラメーター設定とアルゴリズムを 1 つのクラスとして混在させることを望んでいるようです。したがって、私はあなたのアドバイスのためにここに書いています:どちらが良いですか?ありがとう!