2

パブリックAPIの一部であってはならないパブリックパッケージ/クラスがあります。ただし、コアプロジェクトもパブリックAPIを使用しているため、新しいAPI-Mavenバンドルを作成することはできないと思います。

これは一般的なケースですが、これはJavaの問題であり、きめ細かいアクセスを許可しないという問題だと思います。

パブリックAPIの一部であってはならないパブリッククラスへのアクセスから「保護」する方法についてのヒントはありますか?ただし、ほとんどの開発者が外部からのアクセスからこれらのクラスを保護することを考えていないか、少なくとも何もしていないのは、実際には一般的なケースのようです。

4

1 に答える 1

1

通常、アクセスしてはならないクラスは、「internal」という名前の別のパッケージに入れられます。したがって、APIクラスにはcom.company.applicationがあり、実装クラスにはcom.company.application.internalがあります。しかし、これを強制するものはありません。OSGIモデルでは、バンドルからエクスポートされるパッケージをよりきめ細かく制御できますが、プレーンJavaでは制御できません。

于 2012-10-19T15:24:40.897 に答える