「すべてを修正」デザインパターンとは何ですか?
linuxdevcenter.comのStephen Figginsによるこの2003年の記事では、Bram CohenのBitTorrentは「すべてを修正」デザインパターンを使用していると説明されています。 どちらもBitTorrentを把握するのを難しくしますが、研究に値するあまり一般的ではないアプローチは、Cohenのi等性の使用です。プロセスを複数回適用してもそれ以上変更されない場合、プロセスはprocess等です。Cohen氏は、「すべてを修正」と呼ばれるデザインパターンを使用すると言います。これは、何が変わるかを実際に気にすることなく、多くの変更に反応できる機能です。彼は、「あなたは起こった出来事に注意し、そしてこの非常にwritten等な方法で書かれたすべてを修正する関数を呼び出し、起こっているかもしれないことをすべてクリーンアップし、ゼロからすべてを再計算する」と説明する。べき等性は困難な計算を簡単にしますが、少し複雑になります。コールが変更される場合、それが常に明確になるとは限りません。事前に知る必要はありません。関数を自由に呼び出すことができますが、 これは一見するとかなりいいですね。 ただし、べき等の「すべてを修正」関数を呼び出すと、効率を犠牲にしてシステムの堅牢性を向上させ、潜在的に収容システムを混乱させる可能性があります(慎重に計画して実行するプロセスを好む可能性があります)。 ただし、以前に使用したとは言えません。また、彼のアプリケーションのソースをオンラインで見つけることはできません(ただし、これに基づいていると主張するこのソースは見つかりました)。また、この記事以外で参照することもできません(そして、私のgoogle-fuはかなり良いと思います)が、SOApatterns.orgで「べき等機能」のエントリを見つけました。 このアイデアは別の名前でよく知られていますか? 「すべてを修正」デザインパターンとは何ですか?長所と短所は何ですか?