Dove mettere l'interfaccia in .Net

6

Ho un progetto VB.Net, con una classe con un paio di proprietà astratte (mustoverride), che sto pensando di spostare in un'interfaccia.

La mia domanda è strutturalmente come faccio? Attualmente tutte le classi che dovrebbero implementare questo sono derivate da questa classe base, quindi potrebbe avere senso inserirla nello stesso file. O potrei creare un file di interfaccia separato e metterlo nella stessa directory della classe base. Un'altra opzione, sarebbe quella di creare una directory separata per le interfacce (di cui il progetto ha attualmente zero) e inserire il file il.

Dopo averlo scritto, sono strongmente incline alla seconda opzione. Mi sono guardato intorno, ma non ho trovato alcuna guida su questo. Quale sarebbe l'opzione migliore e perché?

    
posta jmoreno 06.07.2013 - 18:26
fonte

2 risposte

10

La guida comune in .NET land, nella maggior parte dei casi, è di avere ogni classe e interfaccia nel proprio file. Con una corrispondenza 1: 1 tra file e classi, la navigazione diventa più semplice. Questo discute contro l'opzione # 1.

Per quanto riguarda la scelta tra # 2 e # 3, vorrei discutere per il primo, con alcuni avvertimenti. Non penso che dovresti avere una cartella per le interfacce, ma piuttosto una struttura di cartelle basata sul modello di dominio. Raggruppa i tuoi file per argomento, non in classi o interfacce.

L'avvertimento principale, tuttavia, se una volta che l'applicazione diventa più grande, potrebbe essere suddivisa in diversi progetti e non tutti i progetti possono fare riferimento al progetto in cui l'interfaccia potrebbe essere definita. In questo caso, creeremo spesso un progetto separato per contratti e interfacce, che viene quindi referenziato da altri progetti.

    
risposta data 06.07.2013 - 20:59
fonte
3

Raggrupperei tutte le mie classi e interfacce in una cartella separata. Tutto deve essere raggruppato in base alla funzionalità e non in base alla classe base, all'interfaccia o altro.

Che cosa accadrebbe se avessi un modello di progettazione complesso, dovresti suddividere le interfacce in cartelle separate?

    
risposta data 06.07.2013 - 20:10
fonte

Leggi altre domande sui tag