Está en la página 1de 9

Regla de negocios: Proyecto de Clases con Visual C#

Objetivos de la prctica:
Aplicar los conceptos de Arquitectura de Capas para desarrollo de aplicaciones.
Las aplicaciones se pueden construir en arquitectura monoltica (todo en la misma computadora), Cliente
Servidor (Aplicacin en la computadora del usuario y Capa de datos en un servidor de Base de Datos), o
en 3 capas.
Arquitectura de 3 capas, es desarrollar el Front End (capa de presentacin) con la menor cantidad de
lgica y reglas de negocio, desarrollo de CLASES con todas las reglas de negocio (que incluya
validaciones de datos, comunicacin con la Base de Datos) y que puede estar instalada en un servidor de
aplicaciones, y la tercera capa es la capa de acceso a datos, que por el momento la estaremos
programando tambin desde la clase que vamos a desarrollar en las prximas sesiones.
Capa de reglas de negocio
La capa de reglas de negocio ser una biblioteca de clases en Visual C#, y en ella vamos a construir dos
clases, la clase por defecto (default) que ms adelante contendr algunas rutinas de uso comn no solo
para este ejercicio sino tambin reutilizable en otros formularios. Una segunda clase en la cual
modelaremos toda la estructura de la tabla de empleados.
Un poco de teora de clases: Las clases son parte del modelado de las herramientas UML, una clase
consta de Propiedades, Atributos ( campos Fields) y Mtodos.
Las propiedades son los valores que se exponen al programador cuando se est invocando esta clase,
las propiedades tienen nombre y tipo de datos visibles y hasta modificables por el programador al
instanciarla. Atributos, son como variables de programacin que las definimos para ser ledas y
modificadas internamente en la clase, casi como un estndar, los atributos que se asocian a una
propiedad (para asignar o modificar el valor de una propiedad) por lo general los nombramos igual que la
propiedad con la diferencia que se le antepone un guin bajo as:
Si tenemos una propiedad IdEmpleado, vamos a necesitar un atributo llamado _IdEmpleado
Y los mtodos son las subrutinas que se programan para ejecutar porciones de cdigo con propsito, los
mtodos ms comnes que programamos son por ejemplo el de Adicionar datos a la tabla, realizar las
modificaciones de datos de la tabla, borrar un registro de la tabla, y procesos como buscar un dato o
validarlos.
Construccin del proyecto de Clases en C#
En el men File (Archivo) teniendo abierto el proyecto con el que hemos estado desarrollando los
ejercicios anteriores, seleccionar Agregar y luego Proyecto nuevo.

Luego seleccionar el lenguaje Visual C# y la plantilla de Biblioteca de clases. Sugiero crear este nuevo
proyecto dentro del mismo folder o carpeta donde hemos creado el proyecto de Interfaz de usuario.

Nombrarlo como AppClases.
Luego renombrar la clase que por defecto debe decir Class1, por el nombre de Entorno.cs.

El cdigo de la clase queda de la siguiente manera:

Mas adelante vamos a necesitar de hacer llamadas a las bibliotecas de acceso a datos por lo tanto
tenemos que agregar las referencias a System.Data y System.Data.SqlClient.
(agregar las referencias, ver en figura sombreado en amarillo)

Si cuentan con la versin de Visual Studio 2008 Profesional, van a poder construir de manera grfica toda
la clase de Empleados, de lo contrario tendrn que construirla digitando totalmente todo el cdigo.
Para disear toda la clase, sin tener que codificar, nos vamos al explorador de soluciones y buscamos el
archivo de la clase Entorno.cs (recuerden que le cambianos nombre a la clase default), y con el botn
derecho del ratn seleccionar la opcin de Ver Diagrama de Clases

Podrn observar que aparece un recuadro en blanco.
Una tcnica que vamos a utilizar es la de estructurar internamente las clases, tanto en subclases
(herencia de clases) como organizada por espacio de nombres (todo esto lo vamos a ordenar en las
siguientes sesiones)
Una vez tengamos el diseo original de la clase, vamos a agregar una nueva clase. Sobre cualquier
superficie del diseador de clases, con el botn derecho del ratn seleccionar Adicionar una nueva clase.

Luego se nos va a preguntar si la deseamos crear como un nuevo archivo de clases o si deseamos
agregar la nueva clase a una ya existente. Seleccionar adicionar a Existente, presionar el botn de
Browse (el de los puntitos) y seleccionamos el archivo de la clase Entorno.cs, y el nombre de la clase ser
(classname) Empleado

Ahora tendremos ya dos clases, para completar esta parte del diseo, vamos a hacer uso de herencia de
clases, vamos a crear una herencia de la clase Entorno para la clase Empleado.

Arrastrar de la ventana de herramientas el control Herencia (Inheritance) y dibujarlo desde Empleado
hacia Entontorno (la flecha debe apuntar de empleado hacia Entorno.
Ahora ya tenemos dos clases.
Construyamos entonces todos los elementos de la clase de Empleado tomando como referencia toda la
estructura de datos de la tabla Empleados.
Primero podemos crear todas las propiedades, dndoles el mismo nombre a cada propiedad como
columnas tengamos en la tabla.

Luego creamos tantos atributos (Fields) como propiedades tengamos:

Y por ltimo creamos los mtodos mas elementales:

Por el momento vamos a dejar los mtodos de tal manera que el mtodo AddEmpleados no va a devolver
ningn valor, BuscarEmpleado debera devolver valor entero y BorraEmpleado y ValidaEmpleado
devolvern valor lgico (booleano)
Si ahora nos movemos al cdigo de la clase Entorno.cs, vermos que tenemos todo el cdigo en C# de las
propiedades, atributos y mtodos.
Por supuesto vamos a necesitar ajustar y modificarlos todos para acomodarlos a nuestra necesidad, por
ejemplo:
publicint IdEmpleados
{
get
{
return _IdEmpleados;
}
}
Arriba el cdigo de la propiedad IdEmpleados, obsrvese que la propiedad la vamos a utilizar como una
propiedad ReadOnly lo que significa que el valor no lo vamos a poder modificar sino solamente
internamente desde la clase.
Luego el resto del cdigo aparece segn este ejemplo:
publicint IdTabMunicipios
{
get
{
thrownew System.NotImplementedException();
}
set
{
}
}

publicstring ApeEmpleado
{
get
{
thrownew System.NotImplementedException();
}
set
{
}
}
Entonces necesitamos modificarlo para asociarlo a los respectivos atributos o Fields
publicint IdTabMunicipios
{
get
{
return _IdTabMunicipios;
}
set
{
_IdTabMunicipios = value;
}
}

publicstring ApeEmpleado
{
get
{
return _ApeEmpleado;
}
set
{
_ApeEmpleado = value;
}
}
Los mtodos tambin fueron creados de la siguiente manera:
publicvoid AddEmpleado()
{
thrownew System.NotImplementedException();
}

publicvoid EditEmpleado()
{
thrownew System.NotImplementedException();
}

publicbool BorraEmpleado()
{
thrownew System.NotImplementedException();
}

publicint BuscaEmpleado()
{
thrownew System.NotImplementedException();
}

publicbool ValidaEmpleado()
{
thrownew System.NotImplementedException();
}
Y por el momento podra modificarse ligeramente de la siguiente manera:
publicbool BorraEmpleado()
{
returnfalse;
}

publicint BuscaEmpleado()
{
return -1;
}

publicbool ValidaEmpleado()
{
returnfalse;
}
En la siguiente sesin, haremos un ejercicio de cmo utilizar (instanciar) la clase hecha en C# desde un
proyecto desarrollado en Visual Basic.
Para quienes no tienen Visual Studio Profesional sino posiblemente una versin estndar o versin
express, buscar el cdigo completo de la clase en descargas de C#.

Desarrollado por Ing. Jorge Fernndez, Visual Basic Developer, Microsoft MVP