2010-01-22 11 views
5

Sé que esta es una pregunta muy básica. Pero realmente no soy capaz de comprender qué deberíamos tener en BLL. Déjeme tomar un ejemplo.
Consideremos una página web de Login.aspx, que se utiliza para facilitar el inicio de sesión del usuario.
En este caso, Login.aspx tendrá dos cuadros de texto y un botón de inicio de sesión. (Capa de presentación).
Data Access Layer tendrá funciones para verificar si el nombre de usuario y la contraseña son correctos.¿Qué deberíamos tener en una capa de lógica de negocios (BLL)


No creo que necesite algo más en esta página. Entonces, ¿qué tendré en BLL? Si desea agregar alguna funcionalidad que debe venir en BLL, por favor agregue.

Respuesta

2

Usted debe tener algo como esto:

La interfaz de usuario llama BL.SaveUsernameAndPassword(string user, string pass);

BL.SaveUsernameAndPassword debe validar las cuerdas, y luego llamar a DAL.SaveUsernameAndPassword(string user, string pass);

DAL.SaveUsernameAndPassword debe poner estos parámetros en la consulta SQL y ejecutarlo, con la suposición de que los datos son válidos

+0

así que en este caso no puedo tener un DAL común para todos mis proyectos, ya que tengo que escribir una consulta en DAL. –

+0

¿Por qué tener que escribir la consulta en el DAL le impide tener un DAL común para sus proyectos? –

+0

En algunos proyectos, es posible que desee seleccionar un número diferente de variables de diferentes tablas. –

6

No, el BLL comprueba si el nombre de usuario y la contraseña son correctos. El DAL es solo para acceso a datos.

+0

por lo que quiere decir, al hacer clic en el botón de inicio de sesión, llamaré a una función en BLL que verifica si el nombre de usuario y la contraseña i Es correcto pasándolos a DAL –

+0

@kprobst, debería escribir una consulta Sql en BAL –

+1

Por ejemplo, supongamos que está recuperando un hash de contraseña basado en el nombre de usuario y lo verifica con la contraseña proporcionada. El DAL se usa para extraer los datos de la tabla donde se almacenan, el BLL se usa para verificar el hash. En general, ninguna lógica debe residir en la base de datos, ya sea comercial o no. Eso va en la capa de negocios. Esto no siempre es posible, pero debe esforzarse por mantener la mayor cantidad posible de código fuera del DB. Considere la parte DAL (ORM, whatever) de la base de datos para este fin. – kprobst

4

"La capa de acceso de datos tendrá funciones para verificar si el nombre de usuario y la contraseña son correctos" - incorrecto. El BLL hará eso, el DAL solo recuperará (o tratará de recuperar) la información del usuario, sin verificarla.

+0

entonces en este caso, estoy ejecutando un SP, entonces ¿dónde debo agregar Parámetros a ese SP, en BLL o DAL –

+0

Su BLL debe solicitar al DAL que llame al SP, y el BLL interpretará sus resultados a su regreso. El DAL es solo un conducto casi sin cerebro. –

+0

por lo que significa que en BLL agregaré parámetros a ese SP y lo pasaré a DAL para su ejecución. –

Cuestiones relacionadas