0

私は次の問題で立ち往生しています:

-クラス内のすべてのメソッドの前提条件を設定して、任意のメソッドが呼び出されるようにする方法。これらの前提条件がチェックされ、それらが満たされている場合は呼び出しが開始されます。そうでない場合は、例外がスローされます。

何のためにそれが必要ですか?クラスのすべてのインスタンスが何らかの状態にあると仮定しました。そして、状態が正しくない場合に一部のメソッドを呼び出せないようにしたいだけです。

例: 私のクラスが Player で、彼の状態が DEAD の場合、この状態の間、彼のレベルを上げたくありません。

その例は、私が必要としているものを正確に示しています。PHP でのアクションのフィルターなどのようなもの。

私のポイントは、すべてのメソッドの開始時に、正しい状態になるための条件が満たされているかどうかを手動で確認することではありません。私の期待に応えるソリューションはありますか? 多分いくつかのデザインパターンか何か?

4

3 に答える 3

0

唯一の解決策は比較的複雑です。チェックを実行するすべてのメソッドの開始時にチェック メソッドを呼び出す方がよいでしょう。それは単純で、自己文書化されており、より理にかなっています。

于 2013-09-20T18:54:32.837 に答える