私は、産業用の偏微分方程式のいくつかのソルバー(すべて同じタイプの方程式を解く)を開始しています。アプリケーションはGUI(計算コードから分離されている)と異なるソルバを持つDLLを持っているはずです。新しいソルバーを作成し、ソルバーリストにプラグインとして追加するために、拡張性を達成することが目的です。異なるソルバは、異なるパラメータのセットを必要とする。どのようなデザインパターンを検討すべきですか?アプリケーションの設計パターンの選択
0
A
答えて
2
戦略パターンはよく似ているようです。 要点は、すべてのソルバーが実装するインターフェースを実装することです。
次に、ソルバで構成されるクラスには、実行時にソルバを挿入/削除できるリストが含まれます。
あなたは(すなわちソルバー)戦略パターンについて
詳細情報変更内容をカプセル化しているこの方法:https://sourcemaking.com/design_patterns/strategy
2
を私はGang of Fourのデザインパターンについて知らないが、私はいくつかをお勧めしますが
- ソルバのインターフェイス(すべて純粋仮想関数)から始めます。
- ソリューションの種類に基づいてソルバーの実装をインスタンス化するために、依存関係インジェクションとファクトリを使用します。
- パラメータをマップに外部化して、容易かつ柔軟に使用できます。
- 各ソリューションタイプのカスタムバリデーターを作成して、方程式の組み立てと解決の作業を始める前に、適切な入力が得られることを保証します。
関連する問題
- 1. マルチモジュール設計とシングルモジュール設計の選択
- 2. クライアントサーバーのアプリケーション設計パターンとプロトコル
- 3. オブジェクトモデルの設計選択
- 4. 大規模なAjaxアプリケーション設計パターン
- 5. C++の設計パターン:
- 6. MailboxProcessor.PostAndReplyの設計上の選択
- 7. データベース設計 - ジョインテーブルの子キー選択
- 8. 選択されたパフォーマンスのデータベース設計
- 9. actionscriptのオブジェクトプール設計パターン
- 10. Cのビルダー設計パターン
- 11. メディエータの設計パターン〜=トランザクションスクリプト?
- 12. GraphQLデータベース設計パターン
- 13. Apache cassandra - アプリケーション用のDBの設計 - カラムファミリとスーパースーパーカラムファミリの選択方法?
- 14. コンポーネントベースのアプリケーションでアイテムを選択するパターン
- 15. JSF、EJB 3.0を使用するアプリケーションの設計パターンを提案
- 16. Node.jsアプリケーションの認可手法と設計パターン
- 17. 要約リモートファイル転送アプリケーションの工場設計パターン
- 18. 選択ドロップダウンを設計する
- 19. WCFと工場設計パターン
- 20. サーキットブレーカ設計パターン実装アドバイス
- 21. 選択合計
- 22. メッセージキューサービスへのラッパーの設計パターン
- 23. オブジェクトプールの設計パターンの問題
- 24. コンパイラオプションの選択アプリケーション
- 25. PHPアプリケーションの設計
- 26. オプティミスティックキャッシング同時実行性の設計パターン
- 27. NoSQLからSQLへのアダプター設計パターン
- 28. C#戦略パターン設計の問題
- 29. 選択クエリの計算列?
- 30. 合計クエリの選択
インターフェイスを定義し、このインターフェイスを通じてソルバーにアクセスすると、実装を自由に変更できます。 –