これはベストプラクティスのプログラミングに関する質問ですが、タイトルの質問をどのように表現するのか分かりませんでした。申し訳ありませんが、ここで行っています。nullパラメータでオーバーロードされたメソッドを呼び出すことをお勧めしますか?
私はマネージャーのメソッド、またはコントローラ、こうして持っていた:
public boolean myMethod(Param1 param1);
をそして、それが必要とする他の方法を呼び出すためのアプリケーションの変更ので、私は、このようにそれを再定義する必要がありましたPARAM2とparam3:
public boolean myMethod(Param1 param1, Param2 param2, Param3 param3);
今、私は「常に」3つのparamsを持つ方法は(今のところ、多分将来的にはそこに変更があると私はnull以外のparamsでそれを呼び出す必要があり)と呼ばれることを実現param2=null
とparam3=null
であるため、1番目の実装では私がやった方法:
public boolean myMethod(Param1 param1) {
return this.myMethod(param1, null, null);
}
public boolean myMethod(Param1 param1, Param2 param2, Param3 param3) {
/* Call to other methods that is needed to pass it param2 and param3 */
}
だから、マネージャのメソッドの呼び出し、およびオリジナルの方法は、,:
boolean isTrue = myManager.myMethod(param1);
である。これは、一つの選択肢である、他の選択肢がnullのparamsを渡すことです呼び出しから:
boolean isTrue = myManager.myMethod(param1, null, null);
そして、私のマネージャーに一つだけの方法を聞かせて:
public boolean myMethod(Param1 param1, Param2 param2, Param3 param3);
したがって、実際の質問は次のとおりです。これを実行してベストプラクティスについて話す最善の方法は何ですか?それはマネージャの実装でメソッドをオーバーロードし、nullパラメータで呼び出す場合は間違っていますか?
ありがとうございます!
ご挨拶。
二つの迅速なアイデアのインタフェースのデフォルトの方法についての詳細を読むことができます:1.可変引数。特に、すべてのパラメータが同じタイプの場合。 2.デコレータパターン。実行時にメソッドを "充実させる"ことができます。あなたはインターネット上で多くの例を見つけることができます。幸運;) – Tinki