これが私のコードです:
deleteStuffFromDb(); // void method
deleteStuffFromCache();
deleteStuffFromDb() は、戻り値の型が のインターフェイス メソッドvoid
です。
理想的には、最初のメソッドは値 (成功/失敗) を返します。この戻り値によって、2 番目のメソッドが実行されるかどうかが決まります。
2 つのクラスから呼び出されるため、インターフェイスを変更できます。ただし、システムの全体像を把握していない O&M 開発者として、何かを壊してしまうリスクは依然としてあります。
この void deleteStuffFromDb() の実行が deleteStuffFromCache() の実行を決定するかどうかを私が決定することをどのように提案しますか?
ここに私が考えたいくつかの方法があります:
- deleteStuffFromDb() の周りに try/catch を配置し、エラーの場合に例外をスローします。catch() が発生した場合は、deleteStuffFromCache() を実行しないでください。
- deleteStuffFromCache() のロジックをメソッド deleteStuffFromDb() に入れ、このメソッド内での実行を許可/禁止する
- ...?
選んだ理由と感想を教えてください。
ありがとう。