0

Windows 7 の WPF でダイアグラム エディターを構築しています。重要な設計手法 (TDD、Prism、MVVM、依存性注入) を学習しようとしていますが、いくつかの確立された設計パターンは理解していますが、ここに私の質問があります。

全体として、コマンドには異なる数とタイプのパラメーターの組み合わせがあります。(明確にするために、コマンドには固定のパラメーターセットがあります)たとえば、次のように、すべてマウスで実行できます。

Command Create New Node : パラメータ = 新しいノードの場所 (ポイント)

Command Move Node to new position : parameters= Node (graphNode), new location (Point)

2 つのノードを接続するエッジを作成するコマンド: parameters= From Node(graphNode), To Node(graphNode), Type of Edge (GraphEdgeType)

そのようなコマンドを最適にカプセル化するには、ファクトリ パターンまたはアブストラクト ファクトリ パターンをどのように適用すればよいですか?

クライアントがこれらのパラメーターを司令官に渡すには、どのような方法が望ましいですか?

(私はここや他の場所で狩りをしましたが、質問や回答がそれほど明確に構成されていて、見つけられなかったものにリダイレクトされる準備ができているものを見つけていません:-)

[編集] 私は十分に明確ではありませんでした:

CommandFactoryを作成してコマンドを返す場合、commandType (Enum など)パラメーター セット オブジェクトを渡す必要がありますか ... または、commandType のみを渡して、クライアントがコマンドにパラメーターを追加する必要がありますか?

4

2 に答える 2

1

このhttps://cuttingedge.it/blogs/steven/pivot/entry.php?id=91 ( Command Pattern : How to pass parameters to a command?で見つけた) は、私が探しているものだと思います私はまだそれを理解していません - それはおそらく私が思い描いていたが表現できなかった技術の混合を超越しています.

于 2013-07-22T08:58:48.143 に答える
0

そのようなコマンドを最適にカプセル化するには、ファクトリ パターンまたはアブストラクト ファクトリ パターンをどのように適用すればよいですか?

あなたは何について話していますか?すべての「パラメーター」のプロパティをパラメーターとしてクラスに渡すだけです。

(どちらかといえば、ステート マシンが必要なように聞こえます。)

于 2013-07-21T06:19:47.153 に答える