匿名クラスと名前付き内部クラスを使用する際の良い習慣は何ですか?
多くの UI 要素 (ボタン、テキスト フィールドなど) を含む Android アプリケーションを作成しています。それらの多くには、ある種のリスナーが必要なのでonCreate
、アプリケーションには、次のような非常に小さな匿名クラスがたくさんあります。
someButton.setOnClickListener(
new View.OnClickListener() {
public void onClick(View v) {
// do something...
}
}
);
このような匿名クラスはそれぞれ 5 行から 20 行の大きさで、十分に小さく、 Java™からの推奨事項に適しています。
一般に、次の場合は、ローカル クラスの代わりに匿名クラスの使用を検討する必要があります。
- クラスの本体は非常に短いです。
- クラスのインスタンスは 1 つだけ必要です。
- クラスは、定義された直後に使用されます。
- クラスの名前によってコードが理解しやすくなるわけではありません。
しかし、IMO の問題は、それonCreate
が非常に大きくなり、コードを読んで理解するのがより複雑になることです。理解するのは簡単ですが、単に大きすぎます。
そのような場合、より良い方法は何ですか - それぞれがうまく分離されている小さな内部サブクラスがたくさんありますが、一度だけ使用するか、代わりに匿名クラスを使用し続ける方がよいでしょうか?