Esistono convenzioni di denominazione per le strutture di directory dell'applicazione Web ASP.NET?

StackOverflow https://stackoverflow.com/questions/131868

Domanda

Attualmente sto sviluppando un sito con circa sette classi parziali, alcune icone, tre pagine e una cartella App_Themes. Ero interessato a sapere, esiste una struttura di directory standard del settore per qualcosa di più grande di un piccolo progetto?

Ad esempio, voglio mantenere le classi in cartelle separate, le immagini in cartelle separate ecc. La mia struttura di directory corrente è la seguente (non esatta, questa è dalla memoria):

  • (root) contiene il codebehind e i moduli
  • / App_Data
  • / App_Themes
  • / bin
  • / Immagini
  • / Modelli: ho rubato il nome da MVC. Sembrava più appropriato delle "classi"
  • / FusionCharts - una libreria di grafici flash

Ho giocato brevemente con MVC, e sembrava una bella struttura di directory, tuttavia sto usando ASP.NET Ajax.

Quindi, suppongo che la domanda sia: esiste un modo per rendere questa struttura di directory più ordinata secondo te? Fornisci risposte sul perché hai preso anche la tua decisione :).

È stato utile?

Soluzione

Mi piace essere ispirato dagli standard Microsoft, poiché stiamo utilizzando una tecnologia Microsoft. Inoltre uno standard piuttosto buono è meglio di nessuno standard , specialmente se lavori in una squadra più grande.

App_Code è ovviamente standard, perché ha una funzione in ASP.NET, non solo una buona pratica.

Mi piace la struttura del progetto standard MVC:

  • Contenuto - Contiene sottodirectory con immagini, CSS, Javascript
  • Controller - Forse N / D in WebForms
  • Visualizzazioni - Forse anche eccessivo in WebForms

Il " Contenuto " la cartella è forse la chiave, poiché è il minimo comune denominatore per i progetti ASP.NET. Quindi se lavori con WebForms e MVC ti sentirai a casa in tutti i progetti, se sai di avere le tue risorse statiche in quella cartella.

Altri suggerimenti

L'unica " standard " il nome che ti manca per ASP.NET sarebbe App_Code .

Usa la convenzione che ha senso per te e per le persone che manterranno il codice. Non esiste uno standard di settore per questo che ho riscontrato in oltre 4 anni di sviluppo ASP.NET.

Seguo anche la stessa struttura menzionata da te. Le uniche aggiunte che faccio sono cartelle separate per script, CSS e risorse. Per quanto ne so, non esiste un simile standard industriale.

Mi piace avere una cartella Contenuto in cui posso mettere le mie cartelle Css, Js e Images.

Molti progetti ASP.Net Web Forms avranno anche una cartella Controls per i controlli ASCX.

Per lo stile CSS, generalmente utilizziamo una cartella di stili, immagini per il contenuto dell'immagine (una specie ovvia), js.

Potresti avere una cartella schemi, App_Code per gestori ASHX e altri tipi di codice applicazione e una cartella MasterPages.

Alcuni creati automaticamente che potresti vedere in un progetto Web Form sono cartelle: Proprietà, App_Data, bin, obj, Pacchetti e TestResults.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top