Utilizzo di interfacce per facilitare lo sviluppo rapido / prototipi

2

Recentemente ho iniziato a inserire quasi tutte le mie strutture dati in interfacce e molte delle classi che contengono anche parti di codice logico, a seconda di quanto lavoro esse siano. Trovo che ciò renda molto più facile lo sviluppo di applicazioni perché posso facilmente scambiare parti del mio codice quando non funzionano come previsto senza cambiare il resto dell'applicazione e cambiarle di nuovo quando le ho corrette, o se bisogno di qualcosa di più semplice per il momento Mi stavo chiedendo se sto sviluppando una brutta abitudine qui.

Questo è un anti-pattern che sto usando qui, o è corretto farlo?

    
posta Onno 05.11.2012 - 13:58
fonte

1 risposta

5

Bene, "Programma per un'interfaccia, non per un'implementazione" è un modello di progettazione di lunga data (Gang of Four 1995: 18) . In genere è una buona pratica, soprattutto quando si vogliono disaccoppiare due moduli in modo da poter ragionare su ciascuno in modo indipendente.

È usato principalmente sotto forma di dipendenza da dipendenza (cioè, si inietta dipendenze che sono conformi ad alcune interfacce). Ho anche usato le interfacce per le mie strutture dati e trovo che funzioni bene. Se hai un metodo che prende i dati e li archivia in un database, potresti avere due diverse fonti di dati che vengono archiviati ... e ho avuto casi in cui ho due diverse classi concrete che implementano quell'interfaccia, una da una fonte di registrazione dei dati e un'altra da una voce manuale.

    
risposta data 05.11.2012 - 14:05
fonte

Leggi altre domande sui tag