ポルターガイストのアンチパターンとは何か、コマンドやデリゲートのパターンとどう違うのかを理解しようとしています。もう読んだ:
http://en.wikipedia.org/wiki/Poltergeist_(computer_science) http://sourcemaking.com/antipatterns/poltergeists
でも違いが分からなかった…
明確にするために、そのコード例を見たいと思います(C#またはJava言語が好きです)。
誰か持っていますか?
ポルターガイストのアンチパターンとは何か、コマンドやデリゲートのパターンとどう違うのかを理解しようとしています。もう読んだ:
http://en.wikipedia.org/wiki/Poltergeist_(computer_science) http://sourcemaking.com/antipatterns/poltergeists
でも違いが分からなかった…
明確にするために、そのコード例を見たいと思います(C#またはJava言語が好きです)。
誰か持っていますか?
ウィキペディアでは、コマンドパターンについて次のように説明しています。
コマンドパターンは、オブジェクトを使用して、後でメソッドを呼び出すために必要なすべての情報を表現およびカプセル化する動作設計パターンです。ある条件が満たされたときにコマンドが実行されることを前提として、あるコンポーネントが別の特定のコンポーネントにコマンドを送信できます。
この概念は、関数型プログラミングのファンクターの概念と非常によく似ています(ファンクターは、基本的にブラックボックス、引数、およびすべての関数です)
ポルターガイストは次のように説明されています。
ポルターガイストは、初期化を実行したり、別のクラスのメソッドを呼び出したりするために使用される、短命で通常はステートレスなオブジェクトです。
コマンドは汎用であり、再利用するのに十分な状態を含めることができる必要があります。ポルターガイストは通常特別な目的であり、いくつかの椅子をガタガタと鳴らし、地下で大きな音を立てて消えるだけのために存在します。ポルターガイストは通常、オブジェクトの構築または初期化を支援する松葉杖として使用され、構築後の状態の変化を共有するために使用されることはめったにありません。
言い換えれば、そうです、それらは漠然と似ていますが、ポルターガイストは柔軟性がなく、静的なアクションを表し、コマンドは一般的で、再利用可能で、構成可能なアクションを表します。
値オブジェクトは、定義上、このカテゴリに分類される傾向があります。
http://en.wikipedia.org/wiki/Value_object
それらは値をプッシュするために存在しますが、何もしません。