私はこのパターンにはまったく新しいものです...無名関数はコマンドパターンを実装するのに適していますか?
答えて
ラムダを持っていれば、本当に "デザイン"の "パターン"の半分を完全に必要としません。
工場?それは単なる新しいオブジェクトを返す関数です。ビジター?ダー!コマンド?無名関数。通訳?文字列などを取る関数。戦略?それは関数です!
これは単なるラムダ、関数、クロージャです。
そうです、あなたはCommandパターンを使用し、匿名(またはそれ以外の名前)の機能を使用することができます。
関数は実際にはコマンドの詳細をカプセル化できないということを基にして、noと言うでしょうし、匿名の場合、呼び出し元と呼び出し先の両方がその表現を理解する方法はありますか?
(CopymandパターンのGoF記述は、関数をベースにしたimplenetationを前提にして、暗号化を行うためのオブジェクトの使用を具体的に記述しています。
それをもっと詳しく説明できますか?カプセル化できない詳細はどれですか? – Iain
コマンドが1つの操作しかサポートしていない場合は、無名関数を安全に使用できます。
ただし、コマンドごとに複数の操作を行うことは珍しいことではありません。例えば。取り消し/やり直し処理のためのDoCommand/UndoCommand。またはCanExecuteCommand/ExecuteCommandを使用して、コマンドのUI機能を有効または無効にします。またはGetLocalizedCommandNameのようなものです。これらのケースでは(例えば、匿名関数の組ではなく)インターフェースを使用します。
- 1. Java:onCompleteコールバックでコマンドパターンを簡単に実装できますか?
- 2. ネットワークを介してオブジェクトにコマンドパターンを適用するには
- 3. APIデザイン/コマンドパターンと "通常の実装"
- 4. addressof()はconstexpr関数として実装できますか?
- 5. Android - どのメソッドがgetDefaultSharedPreference()を実装するのに適していますか?
- 6. 無名関数はいつ実行されますか?電話する名前はありません!
- 7. 関数を実装する
- 8. include/sched.h関数を実装しています
- 9. PHP XOR関数が "Length Not Match"を実装しています
- 10. laravelで関数検索を実装しています
- 11. 実装テーブルルックアップベースの三角関数、私は私の暇な時に実装していますビデオゲームのために
- 12. コマンドパターンを実装するためのresqueの使用
- 13. 仮想関数のないコマンドパターン(C++)
- 14. Clojureでは、無名関数内で無名関数を定義することは可能ですか?
- 15. 名前付き関数に無名関数を抽出する方法は?
- 16. 無名関数
- 17. この関数はjqueryでプリロードするのに適していますか?
- 18. 関数実装で名前空間を使用する
- 19. 独自の実装から関数を参照するには?
- 20. MVCに適応するためにクラス内に関数を実装する必要がありますか?
- 21. MySQLの関数名 'ELT'は何を表していますか?
- 22. Rの "最適化"関数をC++で実装する方法は?
- 23. タイプ関数を実装するにはどうすればいいですか?
- 24. は、私はTheanoに次の関数を実装していると仮定
- 25. 共変インターフェイスを複数回実装する:この動作は適切に定義されていますか?
- 26. 無名関数をMATLABのシンボリック関数に変換するにはどうすればよいですか?
- 27. 最後の関数を実装する
- 28. 良い数学的な実装はJavaScriptで実装されていますか?
- 29. MVVMを関数呼び出しに実装する方法は?
- 30. インタプリタの実装言語にインタプリタ言語が適していますか?
ラムダと匿名関数の違いは何ですか? – Iain
彼らは同義語です。 – alamar
いいえ、わずかな違いがあります - http://blogs.msdn.com/ericlippert/archive/2007/01/10/lambda-expressions-vs-anonymous-methods-part-one.aspx –