私は、データを取得してウェブサイトから解析する私の最初のAPIを作っています。だから、そこにはたくさんのネットワークと解析があります。私は公開されてはならない内部パッケージを持つAPIについて読んでいます。 Javadocsのように。だから私の質問は、内部パッケージに入れてはいけないことです。ここでは私のパッケージデザインですが、重要ではないものは除外しています。Java APIデザイン - 内部デザイン
.networkstats
.networkstats.model
.networkstats.parser
はnetworkstats
パッケージ内NetworkStats
というクラスがあります。これは、すべてのネットワーク接続を処理および取得するメインクラスです。次に、parser
パッケージ内のクラスを使用してデータを処理します。 model
パッケージ内のデータを保持するModelクラスを返します。私は、内部パッケージをインクルードする必要があります。なぜなら、ユーザが使用することを意図していないいくつかのクラスとインタフェースが存在するからです。
たとえば、クラスをすべてのネットワーク接続を処理して、NetworkStats
などの他のクラスにアクセスできるようにしたいとします。その理由は、他のクラスのコードを1つの場所にコピーしたくないからです。もちろん、私はこのクラスを使用する他のユーザーには嫌なので、それを内部パッケージに入れますか?私もparser
パッケージを内部パッケージに入れています。だから私の主な質問は、内部パッケージに一般公開されていないクラスやインターフェイスを置くのですか?私は彼らがまだそれにアクセスするが知っている。あなたがする必要があります機能のようなものをしたい場合、私は、サブパッケージが他のパッケージと同じです言いたいすべての最初の
.networkStats.internal.DataManager // class that handles network connections
.networkStats.internal.parser
ありがとう、そのページは本当に私を助けました。私はそれをよく理解していますが、そのリンクには私を助ける多くの情報があります。 –
私はチェックリストを読みました。 –