Estoy creando una biblioteca de Java, como un producto final en la intención de distribuir este .jar a los desarrolladores.Alcance de clase de Java y biblioteca
Estoy "traduciendo" mi biblioteca de Objective-C donde controlo los archivos de cabecera de clases disponibles para el desarrollador. En otras palabras, solo estoy exponiendo al desarrollador algunas clases que pueden manejar.
En mi biblioteca Java estoy usando paquetes y mi paquete ha crecido bastante. Así que decidí separar en diferentes paquetes mis modelos y controladores. Pero ahora los modelos que quería mantener en privado deben marcarse como públicos para usarlos desde el paquete principal.
Mi pregunta es, ¿esto va en contra de lo que estaba haciendo en Objective-C?
Por ejemplo, tengo una clase de evento que realmente solo se usa internamente y no quiero que el usuario lo sepa ni lo piense. Tengo otra clase TimedEvent, que el usuario puede obtener una instancia de una gestión.
En mi Objective-C, simplemente excluí la clase de evento del ámbito público de la biblioteca, lo que permite TimedEvent.
Si estoy haciendo las cosas más ordenadas en mi biblioteca, entonces parece que los paquetes no son el camino. Desde ahora, mi controlador principal está en el paquete principal y todos los modelos están en otro paquete, forzado a tener un alcance público.
Opiniones?
buen toque sobre la aplicación dentro de la interfaz. Es esa una nueva característica? –
No, eso funciona porque Java admite clases internas (1.2, creo) pero agrega mucho código de placa de caldera. –
Muchos libros de texto lo han equivocado. "Interfaz: constantes y declaraciones de métodos" –