Domanda

Sono stato da poco imparando sui livelli di accesso ai dati, i livelli dell'attività di logica e livelli di presentazione, ma ho ancora un paio di cose che non sono del tutto chiaro.

posso usare il DAL e BLL con il livello di presentazione per ottenere o informazioni set in un database.

Ma ho anche pensato di eventi di controllo asp, e come io li dovrebbe attuare.

dovrebbe Io, per esempio, provare a mettere un evento click del pulsante nel BLL o dovrei semplicemente lasciare nel codice aspx dietro file di?

E se io li mettere nel BLL come dovrei andare a fare questo?

Non sono sicuro di come rendere un evento chiamare un metodo che è nel BLL, in modo da tutto il consiglio sarebbe molto apprezzato.

È stato utile?

Soluzione

Se l'evento ha a che fare con il modello di business, allora si dovrebbe creare un metodo nella BLL. Se si tratta di un tipo di interfaccia utente di evento, gestirlo nel codice dietro. Così, ad esempio, se l'utente fa clic su un pulsante per calcolare la spedizione, nel gestore di eventi click del pulsante (codice dietro) chiamare il metodo CalculateShipping () del vostro oggetto BLL. Se, tuttavia, si dispone di un pulsante che cambia il colore di sfondo della pagina (non ho potuto pensare ad un esempio migliore) allora si gestisce completamente che nel codice dietro.

Altri suggerimenti

Data questa architettura:

  

Presentazione -> Affari -> Dati

Ogni strato dovrebbe sapere solo circa e fare ipotesi circa il livello per la sua immediata destra. Ciò significa che il livello di presentazione possono parlare con lo strato di business e utilizzarlo di API ma non dovrebbe mai parlare direttamente con lo strato di dati. Il livello di business in grado di utilizzare le API del livello di dati ma non dovrebbe mai sapere circa o fare ipotesi circa il livello di presentazione che consuma. E ovviamente lo strato di dati dovrebbe sapere nulla di uno qualsiasi degli altri strati.

Se si segue questo principio generale vi accorgerete che la vostra applicazione sarà più semplice e più facile da mantenere.

Per rispondere alla tua domanda, però, gli eventi pulsante di scatto appartengono al livello di presentazione -. Mettendo un evento click del pulsante nella vostra logica di business dovrebbe offuscare i confini tra i due strati e creerebbe inutili accoppiamento

Il tuo codice ASPX dietro file di (Presentation Layer) potrebbe o avere un riferimento diretto al vostro BLL (risultati in accoppiamento) oppure è possibile utilizzare un altro approccio orientato al servizio. Ciò comporterebbe la creazione di interfacce a cui fa riferimento la tua Presentation Layer e realizzati da vostro livello di business. Durante l'inizializzazione dell'applicazione (vale a dire nel file Global.asax), è possibile di collegare il BLL al Presentation Layer tramite l'iniezione di dipendenza o di qualche altro approccio.

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