Dove inserisco le mie implementazioni di esempio nel mio framework?

5

Ho creato un framework di template piuttosto semplice e ho implementazioni predefinite per alcune delle mie interfacce utilizzate per il trasferimento di informazioni. Li memorizzo nello spazio dei nomi MyFramework.Default

Tuttavia, non sono sicuro su dove posizionare implementazioni di esempio, come un modello che crea una classe concreta. Questo modello sembra essere utile alle persone che usano il mio framework, ma non sono sicuro che appartenga a un assembly separato o forse a uno spazio dei nomi all'interno del framework.

Se si tratta di un namespace, esiste una convenzione per il suo nome?

    
posta James 08.08.2012 - 16:44
fonte

3 risposte

1

Non ci sono regole dure che io conosca, ma la pratica comune in C # sarebbe quella di mettere le tue implementazioni standard nello stesso pacchetto dell'interfaccia. Ad esempio, IList e Elenco entrambi vivono nel system.collections.generic spazio dei nomi.

Se l'implementazione è sufficientemente specializzata potresti voler metterla in un sottoprogetto. Tuttavia, la cosa principale, soprattutto se il tuo framework ha un numero significativo di pacchetti, deve essere coerente.

Cerca di pensarci dal punto di vista di qualcuno che userà il tuo framework: idealmente vuoi che siano in grado di scoprire le tue classi senza dover fare riferimento alla documentazione.

    
risposta data 08.08.2012 - 18:23
fonte
1

Assemblea separata?

La risposta qui dipende da come intendi utilizzare gli esempi.
Se sono modelli che possono essere riutilizzati direttamente da altri all'interno del framework, includerli nell'assembly.
Se l'intento è un esercizio di tipo copia e incolla, inseriscili in un assieme separato.

Spazio dei nomi

Qui, ti suggerirei di usare uno spazio dei nomi separato indipendentemente da come gli esempi devono essere usati. In generale, ti aspetteresti che gli utenti del tuo framework abbiano i propri spazi dei nomi che circondano il loro lavoro e si integrano con lo spazio dei nomi del tuo framework. Rende l'esempio più valido seguendo il modello stesso.
Allo stesso modo, invertire tale consiglio se intendi davvero che estenda lo spazio dei nomi del tuo framework.

    
risposta data 08.08.2012 - 16:55
fonte
1

Le implementazioni di esempio dovrebbero trovarsi nel tuo assembly test unit (dovresti davvero averne uno, è il modo più semplice per testare qualsiasi tipo di libreria generale che stai creando). Esempi di utilizzo di una libreria spesso servono anche come qualche tipo di test e viceversa. Dato che l'assembly del test dell'unità è collegato al framework di test (che normalmente non si desidera distribuire), deve essere un assembly separato.

Per quanto riguarda lo spazio dei nomi, sono totalmente d'accordo con GlenH7.

    
risposta data 08.08.2012 - 17:15
fonte

Leggi altre domande sui tag