Mi stavo solo chiedendo la stessa cosa (ma per le classi di interfaccia). Quindi, consente di aggiungere un post a questa discussione.
Ho un pacchetto com.cie.devices
dove metto i dispositivi che controllo usando il software Java. Ora arriva il momento in cui ci sono abbastanza dispositivi per iniziare a costruire una gerarchia di dispositivi. Mi chiedevo se avrei dovuto inserire la mia interfaccia TypeA
per i dispositivi di tipo A in com.cie.devices.typea
, insieme con le classi di implementazione. Il mio argomento principale per non farlo era che mettere le interfacce in com.cie.devices
ha reso facile identificare rapidamente tutti i tipi di dispositivi guardando le interfacce in quel pacchetto. Il mio argomento principale per farlo è che riunisce tutte le classi correlate di tipo A.
Alla fine, immagino che digiterò tutti i dispositivi correlati nello stesso pacchetto (cioè tutto il tipo A in com.cie.devices.typea
) perché 1) vedi già tutti i tipi di dispositivi che guardano i sotto-pacchetti di com.cie.devices
, e 2) disimpegna i pacchetti com.cie.devices
che conterranno probabilmente alcune classi solitarie che non hanno abbastanza amici per essere spinte di un livello inferiore nella gerarchia delle classi.
Quindi è così. Questo è un altro caso con un altro ragionamento dietro.