ASP.NET - Retornar una lista a la UI

   
Vista:

Retornar una lista a la UI

Publicado por Alfredo (4 intervenciones) el 18/03/2015 19:35:30
ok, si tengo un mi capa de loginca del negocio el siguiente código, en donde tengo una función interna DAL que me retorna un DataTable, luego lo tomo y lo convierto en un objeto tipo List (of T), para retornar esta lista a a UI, pregunto esto no es redundante, no causa overhead, no retornamos el DataTable por que hemos leido que es más lento y consume más memoria. Este es mi código

Public Function ListarGenericoArgEnteroLista(ByVal nombreprocedimiento As String, ByVal arg As Long) As List(Of Catalogo)
ldt = Me.DatosSql.TraerDataTable(nombreprocedimiento, arg)
Dim listaCat As New List(Of Catalogo)
If ldt.Rows.Count > 0 Then
For Each row As DataRow In ldt.Rows
Dim regCat As New Catalogo
regCat.IdCatalogo = Convert.ToInt32(row("IDCATALODO"))
regCat.Orden = Convert.ToInt32(row("ORDEN"))
regCat.Descripcion = row("DESCRIPCION").ToString()
regCat.WebPage = row("WEBPAGE").ToString()
regCat.Estado = row("ESTADO").ToString()
listaCat.Add(regCat)
Next
End If
Return listaCat

End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Retornar una lista a la UI

Publicado por Horroroso (8 intervenciones) el 14/04/2015 16:44:22
Hola...
Imagina que perteneces a un grupo grande de desarollo y tu eres la parte encargada de la UI especificamente, y alguien mas se encarga de la capa de negocios, UI manda pedir una coleccion de objetos Catalogo, pero no tiene acceso a modificar el codigo de la capa de negocios, bien, pues a la UI no le importa si el dato viene de un datatable, o lo leyo de una tarjeta electronica o fue a traves de un archivo de texto, o si el dato es calculado, etc, simplemente utiliza sus propiedades instanciadas.

por ejemplo, Catalogo tiene una propiedad Estado.

Esa propiedad puede ser un estado que la capa de negocios calculo, o verifico en un BD o depende de otros valores internos del objeto. a UI no le importa, podria ser que la UI solo muestre el estado al usuario final.

De la misma forma a la capa de negocios no le importa de donde le envio el dato la capa de datos, si lo leyo de la BD1 o la BD2, la TablaX o Y, solo le importa que la capa de datos le envie el dato que necesita.

El manejar Objetos propios en la capa de negocios, hace que se entienda mejor y que se pueda manipular correctamente, tambien hace que el mantenimiento sea mas sencillo.

Hablando de mantenimiento, por ejemplo, imagina que los datos de Catalogo ya no vienen de una base de datos, si no que se leen digamos que de registros de windows, simplemente se modifica la capa de datos y todo lo demas funciona transparente.

Espero no haber hechado mucho rollo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar