Strutturazione delle cartelle di Visual Studio

1

Se sto facendo un sito web, finisco con cartelle come "Controller, viste, modelli, estensioni e helper". Se sto facendo una libreria DLL, finisco con le cartelle che riflettono gli spazi dei nomi delle mie classi. Se scrivo un'app desktop, finisco con "Presentazione e modelli" in cui i modelli sono ulteriormente suddivisi in base agli spazi dei nomi.

La mia domanda è: dov'è un luogo comune dove inserire classi che non fanno necessariamente parte della tua logica o del tuo modello?

Ad esempio, se trovo del codice per convertire XML in un formato arbitrario, di solito lo metto in una classe statica e lo metto in una cartella chiamata utility. È facile, ma quando arrivo a qualcosa che confina con la logica di dominio che converte da XML in un linguaggio specifico del dominio, dove devo tracciare la linea?

Questo è un caso piuttosto specifico, ma ne trovo a tonnellate in cui sono lacerato nel metterlo nella cartella Utilities, nella cartella helpers ecc. Queste sono tutte le cartelle che uso, ma si spera che il concetto sia chiaro , Non so come organizzare il mio codice quando non è chiaro la logica del dominio.

    
posta justausr 29.12.2011 - 17:07
fonte

3 risposte

1

Se ho un codice che deve essere usato dalla logica del dominio, ma non è in realtà la logica del dominio, di solito creerò una cartella "Utility" all'interno della cartella che contiene la logica del dominio reale. In questo modo il codice è separato, ma ciò che dovrebbe essere usato è immediatamente ovvio. Questo crea un nuovo spazio dei nomi al livello che ho intenzione di usare le classi di utilità che rende facile vedere quando qualcosa è un'utilità contro una logica di dominio (le utility saranno precedute da una "Utilità" o altro.

    
risposta data 29.12.2011 - 18:25
fonte
1

Tutto ciò che non è specifico per la tua applicazione deve essere separato in diversi progetti (cioè gli assembly) e fatto riferimento a progetti che richiedono questi assembly. Questi progetti probabilmente contengono codice generico che non utilizza alcun dominio specifico o logica aziendale (ad esempio funzioni di ordinamento). Questi progetti possono essere utilizzati da altre applicazioni a un certo punto, quindi è importante che siano separati e possano essere referenziati quando necessario.

    
risposta data 29.12.2011 - 20:24
fonte
1

Lasciali in uno spazio dei nomi che utilizza la funzionalità specificata. "Utils" dovrebbe riferirsi a qualcosa di astratto e riutilizzabile.

    
risposta data 29.12.2011 - 22:02
fonte

Leggi altre domande sui tag