Cosa è meglio progettare o scoprire l'interfaccia [chiusa]

-2

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:

  1. Progetta le interfacce in anticipo e poi implementale.
  2. 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:

  1. Progettare le interfacce in anticipo, quindi scrivere le classi di implementazione e infine scoprire che tutte le interfacce erano sbagliate in primo luogo.
posta Yuriy Zaletskyy 19.11.2015 - 23:07
fonte

1 risposta

2

La tua domanda equivale a dire "So che ho bisogno di un piano, ma so anche che il piano cambierà, quindi è meglio non avere un piano".

Non c'è dubbio che durante il processo di sviluppo del software si scoprano cose che devono essere cambiate per farle funzionare. Ci occupiamo tutti di questo. Ma è a questo che serve il refactoring, quali sono le revisioni del design, a cosa servono le revisioni del codice, a cosa servono i test di accettazione. Se fossimo tutti esseri umani perfetti, potremmo progettare le interfacce una volta e non doverle mai modificarle. Ma non siamo esseri umani perfetti. Ciò non significa che tu rifiuti completamente il processo di progettazione e che disporre di interfacce appropriate sia un passo importante nel processo di progettazione architettonica.

Un modo per scoprire come dovrebbe apparire la tua API è praticare lo sviluppo guidato dai test. Scrivere i test prima ti costringerà a pensare a come devono essere le interfacce, e alla fine otterrai implementazioni di codice altamente testabili e ben progettate come vantaggio principale. Devi comunque eseguire il lavoro di progettazione, però; un'architettura corretta non emerge in modo naturale dalla semplice scrittura di test e dal loro passaggio.

    
risposta data 19.11.2015 - 23:22
fonte

Leggi altre domande sui tag