挑発的な質問タイトルをお許しください。Java プログラムでパブリック フィールドを使用してはならないことはよく知られています (構造体のようなクラスは除きますが、とにかく避けるべきです)。しかし、コインの反対側、つまりプライベートな方法についてはあまり語られません。
私の見方は次のとおりです。プライベート メソッドがある場合は、ローカルで手続き型コードを記述しています。プライベート フィールドといくつかのプライベート メソッドを呼び出すいくつかのパブリック メソッドを含む Java クラスと、グローバル変数といくつかの関数を含む C モジュールの間に本質的な違いはありませんextern
。 C モジュールをインスタンス化することはできません)。優れた Java プラクティスに最も関心を持っている多くの人々が、手続き型のわだち掘れからできるだけ離れるべきだと考えていることを考えると、private メソッドの使用を制限するガイドラインがこれ以上ないことに驚いています。
プライベート メソッドは絶対に使用してはならない (または実際にはパブリック フィールドと同じくらい悪い) と誰もが考えているとは言いたくないことに注意してください。しかし、ここに私ができる限り客観的にしようとした私の質問があります:
- プライベート メソッドの使用を制限する標準の Java ガイドラインはありますか? (標準的なガイドラインの例は「パブリック フィールドを使用しない」です。これは意見の問題であると主張することもできますが、パブリック フィールドを使用しないことをお勧めします)。
- プライベートメソッドを使用して回避するにはどうすればよいですか? (たとえば、パブリック フィールドをプライベートとして宣言し、パブリックの get/set メソッドを使用することで、パブリック フィールドを使用することができます。多くのプライベート メソッドを含むクラスがある場合、それらを保持する新しいクラスを作成する必要があると思います。 . しかし、そうすると、インスタンス化されず、C モジュールとまったく同じように動作する Java クラスを作成するリスクがあります. クラス内のプライベート メソッドの数を減らすのに役立つ、広く使用されているデザイン パターンはありますか? ? )