Una charla sobre: patrones, metodologias, practicas y demas cosas de desarrollo

Bueno hoy conversando con un amigo por el MSN me pregunto sobre cosas como las del titulo y bueno aqui la conversacion, la he corregido con MS WORD, no es que ahora vaya a usar tildes y enhes, sino que como se comprende una conversacion por MSN siempre implementa emoticons y demas interjecciones propias de las salas de chat.

Carlos dijo:

Que patrones o que metodologia aplica UD. para realizar una aplicación en capas con c# y sql server

JLPA +5154958341243 dijo:

Patrones púes todos los que sean aplicables, siempre usar clases fuertemente tipadas para todo, todo va dentro clases y las clases siempre usan un constructor en blanco aun que no haga nada, las clases siempre poseen una propiedad llamada error que siempre que ocurra alguna falla en un método de la misma en error se llena una cadena de explicación siempre el Exception.Message

 Carlos dijo:

Ya veo, fuertemente tipadas se refiere a definir bien los tipos de datos de los miembros y métodos

JLPA +5154958341243 dijo:

Eso hasta cierto punto de vista, ya que en realidad me refiero a usar siempre en la capa de presentación Listas fuertemente tipadas, algo como

List<clientes> lstCLientes = New List<clientes>();

Aquí ves como es que los constructores vacíos sirven y estas usando una lista pero con tipo clientes que hace que solo te permita incluir en esta lista objetos tipo clientes y dirás para que sirve esto, pues aparte de lo normal para poder enlazarlo directamente con los objetos que manejan datos dentro del .NET FrameWork (DataGridView, DropDownList y demás).

Hay que tener en cuenta una cosa con las clases siempre todas propiedades de las mismas deben de poseer un SET y un GET que permita cargar y devolver datos (Bueno creo que eso ya fue extremo no, eso es básico de toda POO)

Veamos el ejemplo de la facturación de un sistema en la BD vas a tener cabecera, detalle, clientes y productos en cabecera irían los códigos de los clientes que compraron y demás campos, en el detalle los códigos de los productos comprados y demás campos entonces si vas a tener una vista o storedprocedure que te devuelva los datos como se ven en la factura. Pues debes de tener una clase tanto en la capa de datos como en la capa de negocios para esa vista que trabaje con listas con tipo de esa clase.

Nunca te conectas directamente a la BD, siempre debes de tener una clase que administre las conexiones a la misma, yo personalmente no recomiendo usar los asistentes de VS para hacer eso prefiero codificarlos a mano, y tratar los datos a mano para eso tengo una clase que se encarga de realizar esas cosas y que uso en todos mis desarrollos.

Siempre y por siempre usa StoredProcedures, no uses ingresos directos o sentencias directas a tus programas a la BD ya que esto reduce la posibilidad que te hackeen por mala integración de código sql con el LP, eso con mas seguridad en lo que es WEB y bueno si vas a usar Web usa siempre MVC.

Y si estas en el punto de administrador de proyectos pues usa SCRUM El ciclo de trabajo con SCRUM es mucho mejor.

Solo una cosa mas no se puede y no se debe intentar aplicar todos los patrones o todas las normas de las buenas practicas ya que no es real aplicarlos todos

 Carlos dijo:

Ya veo. Entonces podría usar Enterprise Library UD me recomendaría?

¿De que forma administra sus conexiones?

JLPA +5154958341243 dice:

Mira como dice Rodrigo Corral en su blog yo personalmente no recomiendo usar un framework tan extenso para desarrollos incito o sea me refiero a usar especialmente el enterprice library ya que esta diseñado para trabajos mucho mas amplios claro esta solo estoy sobreentendiendo que tu solo vas a trabajar y desarrollar ese te va pedir muchas cosas que nunca usaras.

EN el caso de como administro mis conexiones pues tengo una clase que maneja las conexiones la cual en un constructor se le envía los parámetros del sever de data como ip, puerto, usuario, clave, Base de datos y tipo de servidor este se encarga de elegir que y conque cosa trabaja

Aquí esta el link d esta clase que uso https://xmeele.wordpress.com/2009/07/18/c-gestionar-conexiones-a-diferentes-servidores-de-bases-de-datos/

Claro esta un poco atrasada pero es la base que utilizo

http://geeks.ms/blogs/rcorral/archive/2008/11/03/el-requeteframework.aspx ese es el link en el que habla Rodrigo Corral sobre los frameworks y da una buena explicación de por que no usarlos

Yo postee algo pero bueno desde otro punto de vista hace tiempo aquí el trackback de mi blog https://xmeele.wordpress.com/2009/07/23/crecion-de-un-cms/

 Carlos dijo:

Ya veo gracias amigo, una duda mas Ud. hace sus store procedure a mano y clases de entidad a mano tambien?

JLPA +5154958341243 dice:

No pues los SP en general los genera el DTG como explico en esta entrada en mi blog https://xmeele.wordpress.com/2010/05/29/el-poder-sp_msforeachtable-en-ms-sqlserver/

Claro esta esto solo genera los SP básicos la versión que se descarga de Internet, yo la he extendido un poco, ya que viene con el código fuente, para que genere clases para vistas pero en este caso solo para los select

 Carlos dijo:

Jeje ya veo

Así anda la cosa

JLPA +5154958341243 dice:

También he desarrollado una herramienta que me permite generar las clases de negocios que usan las clases de datos generadas por el DTG (Data Tier Generator)

Es que seria pues terrible hacer los 15 SP para cada tabla que corresponden

Imagínate solo un sistemita de 20 tablas seria al menos 300 SP escritos uno por uno ya fui un mes escribiendo esa tontería

 Carlos dijo:

Si pues esa era mi duda voy a revisar sus entradas, y esa herramientas es para sql server??

JLPA +5154958341243 dice:

Si solo es para SQL Server lamentablemente

 Carlos dijo:

Chispas

Y esa herramienta esta en su blog?

JLPA +5154958341243 dice:

El BTG no pero es fácil ponle en google Data Tier Generator y codeproject y te sale, mejor edito la entrad y le pongo el link

 Carlos dijo:

A ver

JLPA +5154958341243 dice:

http://sourceforge.net/projects/csharpdatatier/

https://xmeele.wordpress.com/2008/07/08/c-data-tier-generator-dtg/

Es que no recordaba desde cuando la tenía posteada esta clase

 Carlos dijo:

Muchas Gracias Amigo

Los chekeo

JLPA +5154958341243 dice:

OK

 Carlos dijo:

Seguiré sus consejos de usar SCRUM

Por ahora winforms

JLPA +5154958341243 dice:

OK

Acerca de

Antes que nada voy a dejar en claro algo, en este blog escribo como se me place, asi que no busquen errores de ortografia o de redaccion que los van a encontrar a montones y tampoco me critiquen o me digan nada sobre ellos pues no tengo intencion alguna de cambiarlos, lo que escribo lo dejo asi y no lo corrijo,claro esta a menos que sean lineas de codigo. Jorge Prado Anci, profesional en desarrollo de aplicaciones, en especial las dirigidas a bases de datos. He trabajado con VFP en casi todas sus versiones, se algo de Java (que no me gusta, es eso solo no me gusta, es bueno pero no me gusta), lo suficiente de PHP como para tener mi propio CMS(es que sigue sin gustarme por la capacidad de desorden que te permite este “lenguaje”), VB lo conoci y lo deteste tanto que lo olvide al punto de no querer adoptar ni por obligacion a su reemplazante VB .NET (por lo mismo de Java) y si C# este si me encanta y aun que conozco bastante bien el lenguaje, la verdad es que me falta mucho del Framework (del 100% estare en un 65%). Soy un apasionado por el orden (en los proyectos de desarrollo), de la programacion en capas (de MVC conozco pero no he aplicado mucho), los estandares y las condenadas pruebas unitaria. Venga creo que ya con esto fue suficiente.

Tagged with: , , , , , , , ,
Publicado en c#, SQL SERVER, TI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 441 seguidores

Blog Stats
  • 304,137 hits
A %d blogueros les gusta esto: