私は時々、同じデータ(クエリオブジェクトなど)を必要とするクラス内のいくつかのメソッドを見つけることがあります。一般的に、順番にデリゲートは、いくつかのプライベートメソッドにうまく、最終的に完成品を返すparseReport()
ような一般的な名前の1つのパブリックメソッドが存在します。クラスプロパティではなく複数のメソッドで使用される変数はどのように扱うべきですか?
public function parseReport(queryObject) {
queryObject = correctDatesAndTimes(queryObject);
queryObject = sortByCusomter(queryObject);
queryObject = buildHierarchy(queryObject);
return queryObject;
}
private function correctDatesAndTimes(queryObject) {
// do some stuff
return queryObject;
}
private function sortByCusomter(queryObject) {
// do some stuff
return queryObject;
}
private function buildHierarchy(queryObject) {
// do some stuff
return queryObject;
}
だから私の質問をされ、私のqueryObject
はクラス - する必要があります私のメソッドのすべては、呼び出されるたびにメソッドの引数として渡すのではなく、すべてのメソッドが参照するレベルプロパティです。
これらの機能は「this」に変異していますか?そうでなければ、この関数群全体はスレッドセーフである可能性が非常に高いですが、それらをすべて変更してプロパティを設定しても機能しません。 –
現在は "this"はまったく変更されていませんが、その作業全体が他の場所から渡されて返される 'queryObject'で行われます。 –