Estoy haciendo mi primera API que obtiene datos y los analiza desde sitios web. Entonces, hay mucha red y análisis en ella. Leí que API tiene un paquete interno en el que no debería ser público; como en Javadocs. Entonces mi pregunta es qué debería y no debería incluirse en el paquete interno. Aquí está mi diseño de paquete, estoy dejando de lado los no importantes.Java API Design - Diseño interno
.networkstats
.networkstats.model
.networkstats.parser
Dentro networkstats
paquete hay una clase llamada NetworkStats
. Esa es la clase principal que maneja y recupera todas las conexiones de red. A continuación, utiliza las clases dentro del paquete parser
para procesar los datos. Después devuelve una clase Model que contiene los datos dentro del paquete model
. Quiero incluir el paquete interno porque habrá algunas clases e interfaces que no están destinadas a ser usadas por los usuarios.
Por ejemplo, quiero hacer una clase que maneje todas las conexiones de red para que las otras clases como NetworkStats
puedan acceder a ella. La razón por la que quiero hacer eso es porque no quiero copiar el código en otras clases cuando puede estar en un solo lugar. Por supuesto, no quiero que otros usuarios usen esta clase, así que lo pondré en el paquete interno. También pondría mi paquete parser
en el interno también. Entonces, mi pregunta principal es ¿colocas clases e interfaces que no están destinadas a ser utilizadas en público en el paquete interno? Sé que puede seguir accediendo a él.
.networkStats.internal.DataManager // class that handles network connections
.networkStats.internal.parser
Gracias, esa página realmente me ayudó. Sé que lo entiendo mejor y ese enlace tiene mucha más información que me ayudará. –
He leído la lista de verificación y me gusta ir +1 para eso –