Supponiamo che tu abbia qualche problema da sviluppare. E come pratica raccomandata è una buona idea usare le interfacce (non intendo la GUI, intendo l'interfaccia o la classe astratta). E puoi applicarne due (sono abbastanza sicuro, ma per ora ho notato che applico due) modi:
- Progetta le interfacce in anticipo e poi implementale.
- Implementare le classi e quindi sulle basi delle classi scoprire l'interfaccia.
Personalmente preferisco la seconda opzione, ma durante le discussioni con altri sviluppatori ho notato che qualcuno preferisce il primo approccio. Posso dire che preferisco il secondo approccio per i seguenti motivi:
Posso scrivere codice più velocemente Evito il codice non originale (qualcosa che non userò mai) Le interfacce in quel caso sono più legate alla vita "reale" Per me è più conveniente. Mi piacerebbe sentire altri consigli sul perché qualcuno preferisca l'opzione 1 o l'opzione 2. Come di solito io codifico in C #, ma anche AFAIK java ha l'idea delle interfacce
C'è anche una terza via:
- Progettare le interfacce in anticipo, quindi scrivere le classi di implementazione e infine scoprire che tutte le interfacce erano sbagliate in primo luogo.