パッケージ分け

完全にInterfaceとその実装クラスとが1対1で対応するような、たとえばlogic系パッケージだったら

  • hoge.logic
  • hoge.logic.impl

みたいにimplパッケージと無印パッケージで分けて管理しやすいし、特に悩まないです。

ですが、自作interface、その実装(〜Impl)、別ライブラリのinterfaceの実装(〜Impl)、抽象クラスの実装サブクラス、JavaBean、Utilクラス、とかがごちゃまぜにある場合にどうやってわけたもんか悩みます。
全部で15ファイル前後。一応全部ある目的のために集結した意味上は同一パッケージに所属してよいと思われるクラスたちです。

あまり細かく分けすぎても、1パッケージに1〜2クラス、みたいにあまり意味のないパッケージがたくさんできるだけだし、ここは割り切って1つのパッケージに入れておこうかなぁ。
ところどころImplなクラスが混じってるのもちょっと気持ち悪いけど。