Android で使用する Android ライブラリを作成しています。これは、Eclipse のような IDE と Ant のようなビルド プロセスを意味します。
ライブラリの性質は、異なるレベルの抽象化を表す 2 つの異なる部分 (「上位」と「下位」としましょう) を持つことです。
この質問の目的のために、ある部分で別の部分からメソッドを呼び出す必要があるが、それらのメソッドをライブラリ ユーザーから隠しておきたいと仮定します。私は通常の参照を精査しましたが、それらはすべて、パッケージ名の規則とスコープ規則を説明するところで止まります。これは役に立ちましたが、SOでこれに答えるものを見つけることができませんでした。
当面の解決策は、すべてを 1 つのパッケージにまとめ、それらのメソッドをパッケージ プライベートにすることです。ただし、保守性、明確さ、および1 つのフォルダーに 100 個のファイルがないという理由から、パーツを別のフォルダーに分割することをお勧めします。
明らかな分割ポイントは、パッケージ (「ウィブル」としましょう)com.me.wibble.upper
をcom.me.wibble.lower
パッケージ/フォルダーに分割することですが、相互接続する方法が望ましくないほど公開されます。軽減策として、@hide を使用して javadoc から非表示にすることができます。
もう 1 つの考えは、トップ レベルでパーツを分割し、classic/main
と/test
フォルダーの代わりに/upper
、/lower
およびすべてのパーツが同じ名前空間/test
を共有できるかどうかです。com.me.wibble
Eclipseがそれに対処するかどうか、またはどのように対処するかはわかりません。
これを行う従来の方法はありますか、それとも行われていないだけですか? 方法がある場合、長所と短所は何ですか?