デフォルトスコープが上手く使えない

最近の悩みです。同一パッケージ内のみから可視であるデフォルトスコープ。

パッケージ分けって2つのやり方があると思うんですよ。

  1. ヒエラルキー的分類をパッケージ割りに反映させる。
    • 同種のものを同じパッケージに置いておく
    • 例えば、Actionクラスはこのパッケ、ActionFormはこのパッケ、とか
    • 抽象的な上位フォルダから具体的な下位フォルダへ、ファイルのディレクトリ分類みたいなイメージ
  2. デフォルトスコープの可視範囲をパッケージ割りに反映させる。
    • 種類は異なるが、協調して動くものを同じパッケージに置いておく
    • 例えば、Fooページ用のパッケ(Action, ActionFormが両方入ってる)とか

今まで俺がとってきた割り方は前者。分かりやすいと思うんだ、その方が。

だけど、デフォルトスコープを上手く使おうとすると、後者の分類をせざるを得ない。デフォルトスコープの為のパケ割と、分類のためのパケ割って、必ずしも一致しないよね…。

パッケージは前者の考え方の元に使うべきではない機能なんだろうか? と最近考えているんですが、分かりやすさを犠牲にしてまでデフォルトスコープを使う価値はあるだろうか、とも考えてしまう。

どうなんだろう…。