2017-09-06 14 views
0

私は、産業用の偏微分方程式のいくつかのソルバー(すべて同じタイプの方程式を解く)を開始しています。アプリケーションはGUI(計算コードから分離されている)と異なるソルバを持つDLLを持っているはずです。新しいソルバーを作成し、ソルバーリストにプラグインとして追加するために、拡張性を達成することが目的です。異なるソルバは、異なるパラメータのセットを必要とする。どのようなデザインパターンを検討すべきですか?アプリケーションの設計パターンの選択

+0

インターフェイスを定義し、このインターフェイスを通じてソルバーにアクセスすると、実装を自由に変更できます。 –

答えて

2

戦略パターンはよく似ているようです。 要点は、すべてのソルバーが実装するインターフェースを実装することです。

次に、ソルバで構成されるクラスには、実行時にソルバを挿入/削除できるリストが含まれます。

あなたは(すなわちソルバー)戦略パターンについて

詳細情報変更内容をカプセル化しているこの方法:https://sourcemaking.com/design_patterns/strategy

2

を私はGang of Fourのデザインパターンについて知らないが、私はいくつかをお勧めしますが

  1. ソルバのインターフェイス(すべて純粋仮想関数)から始めます。
  2. ソリューションの種類に基づいてソルバーの実装をインスタンス化するために、依存関係インジェクションとファクトリを使用します。
  3. パラメータをマップに外部化して、容易かつ柔軟に使用できます。
  4. 各ソリューションタイプのカスタムバリデーターを作成して、方程式の組み立てと解決の作業を始める前に、適切な入力が得られることを保証します。
関連する問題