2011-02-04 8 views
4

私はJava APIを掘り下げていましたが、私はimplパッケージとinternalパッケージの両方を見つけました。これまでのところ、私は実際には違いは考えていませんでした。すべてのエンタープライズJavaアプリケーションと同じように、実際に実装されていることを意味していると思いました(APIユーザー)。パッケージ名 - impl v internal

スタックオーバーフローを少し掘り下げると、少なくとも内部パッケージにはsome security placed around itがある可能性があります。

違いは何ですか?私は両方のAPIを見ているので、それは味の問題ではないと思います。

+3

私は味とデザインの問題だと思います。どのパッケージ/クラスが内部使用のみを目的としているかを明確にしている限り、重要なことです。注:OSGiは、「エクスポートされた」パッケージと内部使用のみのパッケージを厳密に制御します。 –

答えて

2

パッケージ名は、ランタイム動作には何の意味もありません。それは味の問題です。 OSGiのようないくつかのモジュール性システムは、目に見えるものと下流のモジュールではないものの、マニフェストファイルをより厳密に制御しますが、それはすべて命名規則ではなく明示的に行われます。少なくともOSGiのサークルでは、 "内部"は "impl"よりも確立された命名規則です。字句的には、 "impl"よりも一般的です。そのため、より広範に適用されます...モジュールの外側にあるコードはすべて触れてはいけません。

関連する問題