プログラマがこのパターンを使用するという仕様を書いています。このパターンの名前は何ですか?
処理中のデータにいくつかのフィルタを適用する必要があります。この構成では、これらのフィルタを作成することができます。それらのいくつかが存在しても、存在しなくてもよい。私は輸出クラスでその論理を望んでいません(将来的に大きくなる可能性があるため、現在は予測できない種類のフィルタを使用しています)。私はそれらを順番に実行したいので、私はエクスポートクラスのメソッドを要求します: "addFilter"、内部配列にオブジェクトを格納し、実際のエクスポートプロセスが実行されるときにそれらを実行する必要があります。
質問が十分明確であるかどうかわかりません。それは連鎖された戦略のようですが、まったくフィルタを持つことは必須ではないため、まさに戦略ではありません。
また、質問は次のとおりです。このパターンを仕様でどのように呼び出す必要がありますか?
編集:私がやろうとしているものの例:
$report = new Report();
$report->addFilter(new RemoveSpaces())
->addFilter(new SubstituteText($predefined_substitutions_array)
->addFilter(new FixCapitals())
->addFilter(new Encode("utf8"));
echo($report->generate()); // filters are actually used during generation.
たぶん、ユーザーが活用するかどうか、代用するテキスト、RemoveSpacesするかどうかを決定することができるはずですどのエンコーディングを使用するかなどを指定することができます。ユーザー(クライアント、実際)の要求には、今後いくつかのフィルターが必ず追加されます。
foreach($this->filters as $current_filter) {
$data = $this->filters[$current_filter]->applyTo($data);
}
あなたが話していることを説明する擬似コードの例を追加できますか? –
編集した質問をご覧ください。 –