パターンとカルトについて少し話しましょう。
「デザインパターンを学べ」とか「デザインパターンを使わないとつまらない」とか「Xパターンを使えばいい」とか、そういうことをよく耳にします。全体のパターン運動が進行中です... カルトでさえ... 人々にすべてをパターン化するよう奨励しています. これが人々が物事を行うべき方法であると言っています。すべてにパターンがあり、$DEITY によって、それを使用する必要があります。
何だと思う?80%くらいがゴミです。彼らはデザインパターンの役割と範囲を過度に強調しています。
パターンはツールです。これ以上何もない。それらは存在する独自の理由ではありません。彼らは世界平和の鍵ではありません。それらはすべての問題の解決策ではありません。それらがそこにあるという理由だけで、またはカルト信者のクールエイドを飲んだという理由だけでそれらを使用するべきではありません。これらは、実行する必要がある仕事のためのものであり、意味がある場合にのみ使用する必要があります。
設計パターンの全体的な目的 (その唯一の目的) は、全体的な複雑さを軽減することです*。 それを行わない場合は、適切ではなく、無視する必要があります。
したがって、特定のパターンを使用することを考えるたびに、最も重要な質問を 1 つ自問してください 。
* 注、私は全体的な複雑さを言いました。多くの場合、デザイン パターンを適用するには、アプリの一部に複雑さを追加して、他の部分から多くの部分を削除する必要があります。複雑さが完全に失われる限り、このパターンは一見の価値があります。
さて、あなたのコードについて。
Command パターンを使用するために、その小さなスニペットを変更することについて質問されました。可能だと思います。「コピー」および「貼り付け」アクションが表示されます。これらは、テキスト ボックスへの参照を使用してパラメーター化できると考えられます。
ただし、問題は次のとおりです。どのように物事を単純化するのでしょうか?
そのスニペット以外のコンテキストがなければ、CopyCommand クラスと PasteCommand クラスを追加し、それらをインスタンス化して正確に 1 か所で使用するコードからどのように得られるかわかりません。おそらく、他の場所で多くのコピーと貼り付けを行っている場合は、それだけの価値があるかもしれません...しかし、今は違います. 行きたくないところにパターンを押し付けようとしているように感じます。