In un componente OO, quando si dispone di una sola implementazione disponibile per una classe e quella classe non viene "pubblicata" su altri componenti, è comunque consigliabile avere un'interfaccia e lavorare con l'interfaccia?(Programmazione su un'interfaccia v/s che lavora con classe di calcestruzzo) quando esiste una sola classe di calcestruzzo
Sono pienamente consapevole del principio di progettazione "programmazione in un'interfaccia" e lo utilizzo anche estensivamente.
Ultimamente, ho osservato che la maggior parte delle volte una implementazione diversa (anche se possibile e avrebbe senso) non è mai necessaria. Come risultato del lavoro sempre con le interfacce, il codice dell'applicazione avrebbe una discreta quantità di interfacce con una sola implementazione per ciascuna e l'interfaccia sembrerebbe una sorta di overhead.
Invece, è preferibile lavorare solo con la classe concreta e introdurre l'interfaccia solo quando è necessaria una seconda implementazione? Ad ogni modo, oggigiorno estrarre un'interfaccia usando gli IDE è un gioco da ragazzi. E quando viene introdotta la nuova interfaccia, i riferimenti alla vecchia classe concreta possono essere modificati per utilizzare invece la nuova interfaccia.
Cosa ne pensi?
Possibile dupe - http://stackoverflow.com/questions/720115/should-you-create-an-interface-when-there-currently-is-only-going-to-be-one-cla – Nate