Ho un dilemma. Come fare meglio? Ho un sacco di interfacce API e le loro implementazioni che utilizzano alcuni framework / librerie specifici che non vorrei esporre. Non riesco a decidere se mettere entrambe le interfacce API e la loro implementazione nello stesso pacchetto o dividerle in pacchetti diversi: uno (o più) per l'API e altri per la loro implementazione. Ecco cosa intendo ( versione semplificata ):
single-package:
Split-pacchetti:
NelprimocasoabbiamoAPIeimplementazionenellostessopacchettoche(può)semplificarel'accessoadesso.Manelsecondocasopotremmoanchedividerloinunfilejardiversochesupporteràpiù"incapsulamento" da una particolare implementazione.
Personalmente , sceglierei di suddividerli in file jar diversi per mantenere l'API isolata dalle implementazioni.