私はいくつかの仕事をしているクラスCを考えてみましょう。
そのために私は少し非常に単純なヘルパークラスH(ペアまたは3タプルの例表現)が必要です。HはCのみに必要とされています
私はCの内部でHを置きます
class C
{
void foo ()
{
// ... use H to do the job more easy ...
}
class H
{
// very simple and contained stuff
}
}
CのHの内部に良いアイデアを入れていますか?私は、それが含まれていると私はそれがどこにもなるとすべきだと思う場所で持っているために行います。しかし、私はそれが良いデザインであることを確認していません。
補遺の多く:
第一:Hオブジェクトが所有Cインスタンスなしでは存在することになっている場合には、Hはあるべきですstatic
。あなたも、それをプライベートにしたい場合があります。
その後、心に留めておく:Hのフルネームが実際のようなものであるので、あなたは、ここでは内部クラスを持っているwhatever.package.com.CH。言い換えれば、あなたは本当にCにHを結びました
あなたがHには「独自の」ものであることが、それは価値が作る十分な他の側面を持っていることをいくつかの時点で決定した場合?次に、あなたのターンし、いくつかのより多くのコードに触れる必要がある場合がありますwhatever.package.com.CHをにwhatever.package.com.H。
したがって、あなたは可能性が Hトップレベルのクラスにするために、それに考慮していない、それは公開します。だからではなく内部クラスとしてではなく、C.javaに保管してください!
(もちろん、それは本当に、私は、GoogleのJavaコーディング標準だけ持っているかを示しますことを考える「スタイル」に依存して1つの.javaファイルごとにトップレベルのクラス)
最後の言葉は:何かにあなたのHクラスをオンにする方法があれば可能性があり、他の場所で使用することが、私は前に進むとすぐに、独自の公開クラスになるだろう。再使用が妥当と思われる場合は、再使用、それが簡単にできるように、あなたのコードを書きます!それは再利用のための候補者のように聞こえるので、それは、何に非常に具体的であるように、3値のタプルは鳴りません。