Ho già letto alcune asserzioni e domande di eccezione; Però chiedo specificatamente delle classi visibili del pacchetto.
Quando scrivi un pacchetto, le classi segnate con "public" vengono esposte al mondo esterno, quindi vengono utilizzate eccezioni per consentire agli utenti dell'interfaccia del pacchetto di sapere che stanno usando il pacchetto errato.
Le classi che vengono lasciate deselezionate sono esposte solo all'interno del pacchetto, no? Quindi sono propenso a dire che quando qualcosa va storto in una classe visibile del pacchetto, le asserzioni verrebbero utilizzate per interrompere le classi che ho creato dall'invio di dati negativi.
È una cosa bella da fare?
Ho adottato l'idea che gli oggetti conservino i propri dati come privati per loro e che i metodi siano pubblici / privati come necessario per lavorare internamente o con altre classi. Una volta che la classe viene identificata come fare troppo, la classe viene suddivisa in oggetti più semplici destinati a lavorare insieme.
A questo punto esistono molte classi, ma solo alcune dovrebbero essere esposte al mondo esterno. Quindi ho raggiunto la conclusione che i pacchetti sono come oggetti super, che espongono quanto basta affinché l'intera "comunità" di classi possa lavorare insieme per risolvere il problema. In questo modo l'implementazione è nascosta ma viene comunque fornito un servizio.
Questa comprensione è corretta? Questo è ciò su cui si basa la domanda, poiché la comunità di classi è creata in modo "privato per il pacchetto", non è esposta all'esterno e, quindi, dovrebbero essere usate le asserzioni?