Attualmente sto lavorando a un progetto semi-large che ha diversi pacchetti. Ci sono 3 pacchetti principali, un pacchetto "client", un pacchetto "server" e un pacchetto "comune". Ci sono due vasi, uno per il client e uno per il server, ciascuno contenente il proprio pacchetto e il pacchetto comune. Come è implicito dai nomi dei pacchetti, c'è un server e un client. I client si connettono al server e scambiano messaggi. Questi messaggi assumono la forma di una sottoclasse serivizzata di Messaggio. Tutte le sottoclassi di messaggi sono nel pacchetto comune. Quando viene ricevuto un messaggio, viene chiamato un metodo sulla classe del messaggio per gestire il messaggio. C'è una sottoclasse di messaggi che è responsabile dell'invio del nome dei client ai server. Nel metodo chiamato quando il server lo riceve, chiama quindi un metodo setName () sull'oggetto che rappresenta la connessione tra il server e il client.
Per ovvi motivi, non voglio che i programmatori esterni chiamino il metodo setName (), tuttavia deve essere pubblico perché il messaggio e la classe per rappresentare una connessione sono in pacchetti diversi. Mi piacerebbe sapere se è una buona forma deprecare il metodo con un motivo sulla falsariga di "solo per uso interno", e in caso negativo, qual è l'opzione migliore?