私は次のような難点に直面しています。私たちのソフトウェアは、アルゴリズムオブジェクトの抽象基本クラスを持っています。これらのすべてのオブジェクトは、例えば、一般的な方法を持っている:C++の一般的な(ほぼ)自己記述的なパラメータとGUIが結合されていますか?
class Algorithm
{
public:
// [...]
virtual void execute() = 0;
// [...]
};
を我々が実装したい各アルゴリズムのために、私たちは単に基本クラスから継承し、中央の場所にすべてのロードされたアルゴリズムのオブジェクトを格納します。ここまでは順調ですね。
問題はアルゴリズムのパラメータにあります。我々は、(外部クラスによって)設定する必要があるパラメータを各アルゴリズムについて記述することができるようにしたい。この目的のために、各アルゴリズムにそのパラメータを含むParameterList
オブジェクトを与えました。私たちのために、パラメータは何らかの種類(例えば、int
)とラベル(「繰り返し回数」)で構成されていることを明確にする必要があります。ParameterList
を何らかの種類私たちが使っているグラフィカルなAPI(QtやGTKなど)は、私たちのアルゴリズムには「知識」がないはずですが、同じ側面では、アルゴリズムのパラメータを意味的に記述できるようにしたいとします。アルゴリズムは、このファイル名が、その後どのように表示されるかファイル名を。必要とすることを指定することで、GUIまでです。
この質問は非常に曖昧に聞こえます。しかし、私はNDAの理由から、自明ではないコード例を掲載することは許可されていません。だから、過去に似たような問題に直面した人はいますか?
まとめ:私たちのオブジェクトは、GUIの正確な詳細を知らなくても、GUIに必要なパラメータを記述することができます。
OK、*は良い質問です。そして新しいポスターからも。結局のところ、希望がある。 –
タイプごとに必要なパラメータと情報のリストを提供する各アルゴリズムクラスに実装された別の仮想メソッド(ファイル名 - >次にオープンファイルボタン、整数 - >スピンボタンなどのテキストフィールド) ... GUIは、実行されるalgoのために表示するパラメータを要求します...なぜそうではありませんか? – ShinTakezou