Domanda

Voglio creare un progetto multitiviso con 3 strati (o livelli? Qual è la differenza?)

Ora, come dovrei nominare ogni livello (livello)?

Ho visto questa descrizione su Wikipedia:

wikipedia architettura a tre livelli

Ma non riesco a nominare semplicemente il mio strati "di presentazione livello", "logica" e "tier di dati", posso?

che non sarà così appropriato negli spazi dei nomi.

Qualche idea per la denominazione?

È stato utile?

Soluzione

Tier e strato sono talvolta usati intercambialmente, ma c'è una sottile distinzione.I livelli sono fisici e gli strati sono logici.Altro: Qual è la differenza tra "strati" e "livelli"?

Per quanto riguarda la denominazione, dipende dal tipo di progetto attivo, e su quale tipo di architettura stai andando.

Ad esempio, ho un progetto Web chiamato Amber.Ha questi progetti:

    .
  • ambra.logic (logica e dati sono stati combinati in un unico progetto / livello in questo caso)
  • Amber.tests (test)
  • ambra.web (presentazione)

Altri suggerimenti

Potresti nominare i tuoi spiamenti dei nomi come questo:

.

meormycompany.theapplication.data
MeormyCompany.Theapplication.logic
. MeormyCompany.Theapplication.presentation

A volte è necessario aggiungere gli spazi secondari come

.

meormycompany.theapplication.presentation.main
MeormyCompany.Theapplication.presentation.Dialogs
. MeormyCompany.Theapplication.presentation.controls
. ...

Spetta a te.

Nota che quando si crea una cartella in un progetto, il nome della cartella verrà aggiunto automaticamente allo spazio dei nomi. Quindi se hai un progetto chiamato "MeormyCompany.Theapplication", puoi aggiungere cartelle denominate "Dati", "logica" e "presentazione". All'interno della "presentazione" aggiungi sottocartelle denominate "Main", "dialoghi", "controlli" o qualsiasi cosa sia appropriata per te.

Puoi anche creare progetti separati per i tre livelli.

Esempio:

Inserire la descrizione dell'immagine qui

Qui una classe nella cartella SVG avrà automaticamente lo spazio dei nomi

.

cysoft.slvision.diagrams.shapes.svg

namespace CySoft.SLVision.Diagrams.Shapes.Svg
{
    public class SvgLine : LineShape
    {
        private SvgShapeFactory _context;
        ...
    }

    ...
}
.

In una soluzione singola-applicazione di solito faccio qualcosa come:

<Company name>.<Application name>.<Tier name>
.

Dove invece del nome è anche possibile utilizzare un acronimo se contiene spazi o se è troppo lungo.

Io uso questa convenzione di denominazione per ogni progetto / assembly.

I miei livelli / strati di solito presenti sono

DAL - Il mio livello di accesso ai dati (ad es. EF)

Business - La mia logica aziendale ed entità

Facade - il mio livello di presentazione, in cui definisco la logica dell'applicazione

UI - L'interfaccia utente effettiva

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