
362
21
章 モジュール化はどれくらい効果的か
?
...
org.eclipse.mylyn.context.core
/src/org/eclipse/mylyn/context
/core
/internal/core
他のシステムと同様に、この構造からすぐに
2
、
3
通りのモジュール定義の候補が思い浮かびます。
Eclipse
プロジェクトを表しているトップレベルディレクトリが、
Evolution
と
Firefox
でのサブディレ
クトリに大まかに対応します。「
mylyn
」の後に来る最初のコンポーネント名を用いて、これらのディレ
クトリをさらに大きいレベルにグループ化できます。たとえば、
org.eclipse.mylyn.bugzilla.core
と
org.exlipse.mylyn.bugzilla
は両方とも、より大きな
bugzilla
コンポーネントの一部だということが分
かります。実際、
Java
パッケージの構造を調べてみれば、この両方のディレクトリとも
org.eclipse.
mylyn.bugzilla
のサブパッケージに属するコードだけを含んでいると分かるので、このようなグループ
化を選ぶことが言語のセマンティクスに適合します。
私たちが今回用いたのは、
Forefox
の第
2
層モデルではなく、後者のトップ層モデルです。つまり、
Mylyn
のモジュールは、
org.eclipse.mylyn
の直接のサブパッケージに対応するすべてのトップレベル
ディレクトリとして定義しました。この選択により、通常はこのような構造化だと別々のディレクトリ ...