Ejemplo Introduccion a la Programacion Orientada a Objeto en .NET

Con la finalidad de entender todos los conceptos explicados en este blog sobre Introducción a la Programación Orientada a Objetos se les coloca a continuación un link con el código completo de un programa para hacerle tanto mantenimiento a las tablas de Alumnos e Instructores, como ejecutar el envío de notificaciones a ambos.

La estructura del programa cumple con el modelo en capas donde se separan claramente las entidades de negocio, las reglas, las capas de persistencia,  presentación.

Link Codigo Fuente:   http://dl.dropbox.com/u/8067930/MVA/MVAEscuela.zip

Link Script BD:  http://dl.dropbox.com/u/8067930/MVA/MVAEscuelaDB_Script.zip

Para finalizar la grafica del Diagrama de Componente para este ejemplo:

Autor: arevalomaria

Ingeniero de Sistemas, Magister en Gerencia y Tecnologia de la Informacion,

115 opiniones en “Ejemplo Introduccion a la Programacion Orientada a Objeto en .NET”

  1. Hola, que tal? Gran esfuerzo hasta ahora con respecto al material, lo he repasado y está bastante bien. Solo tengo una pregunta, cuando ejecuto la solución que me presentas me notifica un error:

    Error 19 ‘Notificacion’: los nombres de los miembros no pueden coincidir con sus tipos envolventes C:\Users\Albarracín\Downloads\MVAEscuela\MVAEscuela.PL.Web\Notificacion.aspx 78

    Yo de ASP.NET desconozco bastante, debo de esperar llegar a ese punto? muchas gracias y saludos

    1. Hola Daniel,

      deberia saber donde te esta pasando para poder decirle que cambiar,
      por ejemplo no puedes tener un campo que se llame Documento dentro de una clase que se llame Documento
      en ese caso coloca un _ adelante y listo

    2. este problema se da porque hay un control llamado Notificacion y el formulario tiene el mismo nombre…
      deberias cambiar el nombre del control y listo

      1. Disculpa en donde dices de cambiar el nombre del control, eso donde lo encuentro?

        Me encuentro en el formulario llamado Notificacion que es lo que cambias donde dice Codefile que es el formulario o donde dice Inherits?

        CodeFile=»Notificacion.aspx.cs» Inherits=»Notificacion» %>

        O en el resto del codigo por ejemplo

        Notificacion

        Notificacion: 

        Les pregunto ya que soy nuevo completamente en programación y les agradecere a quien me pueda decir en donde modificar.

      2. hola que tal, si alguien me puede ayudar gracias. me sale el sgte error
        Login failed for user ‘sa’
        y me señala la linea –> using (Database _db = DatabaseFactory.CreateDatabase(«MVAEscuela_Connection»))

        yo se que es un problema con la cadena de conexion porque instale sql de modo mixto y con clave en el sa, pero no se donde modificar la cadena

  2. Tengo problemas, para descargar el código fuente y el script BD, me sale q las páginas están indisponibles. Mucho agradeceré lo puedan solucionar pronto, para poder continuar con el curso.

  3. Cordial Saludo Maria Eugenia.

    El error del que habla Daniel sucede porque hay una pagina definida como «Notifcacion» y dentro de ella un Text con el mismo nombre. Mi problema es que al correr la solucion no sucede nada. Que debo hacer con el script «MVAEscuelaDB_Script.sql»?

    Gracias.

  4. Hola e intentado abrir la solución en visual studio 2008 y visual studio 2005 y en ambos ocasiones me dice que la solución ha sido creada en una versión mas vieja de visual studio y que no se puede abrir, entonces en ¿Qué versión de .net esta hecho el ejemplo? o como puedo abrirlo, gracias de antemano por la respuesta

    1. Hola,

      El ejemplo esta desarrollado en Visual Studio 2010 por eso te da error. Para poder trabajr crea una solucion con la estructura de proyecto desde tu version y luego copiar las clases sobre esta.

      🙂

  5. Hola.
    Buen ejemplo pero creo que para el nivel al que está orientado (programadores en busca de información básica) lo complicas demasiado. Una persona sin demasiada experiencia en el entorno .Net se perderá con las clases parciales, verá definiciones de eventos que luego realmente no se lanzan, etc.
    Todo esto sin hablar de la falta de comentarios. Si intentas que tu código sea un ejemplo para enseñar a personas con un nivel inferior al tuyo….. comenta todo bien, e intenta simplificar el código. Creo que es interesante aplicar la forma de programar KISS, cuando en este caso lo has enmarañao demasiado.
    Un saludo.
    Por cierto, buen ejemplo para otro contexto de programadores (algo más curtidos…)

  6. Completamente de acuerdo Javi, para enseñar es necesario usar la empatía, es decir ponerse los zapatos de quien está aprendiendo y pensar que me gustaría a mi si estuviera en su lugar. Los comentarios en la programación por favor…..gracias

  7. Hola, primero, gracias a Maria por su dedicación, pero en mi caso, apenas me estoy metiendo con .Net. y la verdad me quedo un poco loco con ese código, empiezo a entender los conceptos pero el codigo me enreda un poco….

  8. Hola, primero gracias a Maria por su dedicación.
    La verdad es que apenas me estoy iniciando en .Net y la verdad, me quedo un poco loco con ese codigo, los conceptos los empiezo a comprender.
    Me gustaria saber si debo iniciar otro curso, antes de continuar con este, gracias por sus respuestas.

  9. Hola que tal estoy empezando en esto de la programacion y la verdad es que si entiendo la teoria, pero al ver el codigo me pierdo ya que no tiene comentarios.

    Por todo lo demas esta muy bien explicado Gracias
    Saludos

    (Estan rotos los Links)

  10. Hola Maria, estoy siguiendo el curso en MVA y pues, explicas con muy buenos ejemplos, aunque la verdad son un poco difíciles de captar para los principiantes. En esta parte me encuentro con los links rotos. seria de gran ayuda volver a subir los archivos.

    Muchas gracias 🙂

  11. Hola Maria, muchas gracias por todo tu esfuerzo. Estoy cursando el MVA y quisiera informarte que los link estan rotos. Es posible habilitarlos por favor?

    Gracias

  12. Necesito el código fuente, si son tan amables de actualizar los links se los agradecería bastante.

    De antemano muchas gracias, Saludos.

  13. A pesar que el temario es magnifico, por los comentarios anteriores observados es reticente el problema de los enlaces al los script del ejemplo propuesto lo que me esta impidiendo seguir en el desarrollo normal del curso; porque no resuelven este problema de una vez por todas para no frenar el feliz desenvolvimiento de este tema tan vital.

  14. Hola a todos, estoy en el proceso de aprendizaje de .net (asp con c#), descargue la aplicación de ejemplo pero tengo una duda, en que versión de .net esta desarrollada trate con 2005 pero no me carga.

    Gracias de antemano a todos.

    Juan Ma.

  15. En relación de la complejidad de los códigos, pienso que no se debe bajar el nivel, sino documentar y comentar mas los códigos, para así los principiantes puedan entender con claridad al código…

    gracias
    PD: para : 31. Juan Ma – febrero 29, 2012: En otro mensaje explicaban que está hecho con visual studio 2010….

  16. Hola que tal Maria, primero dijiste que estaba desarrollado en Visual Studio 2010 y despues mas adelante, comentas que en 2008. Confundes a los principiantes. El script no cuenta con la creacion de la base de datos. Saludos y gracias por tu ayuda.

  17. Disculpa en donde dices de cambiar el nombre del control, eso donde lo encuentro?

    Me encuentro en el formulario llamado Notificacion que es lo que cambias donde dice Codefile que es el formulario o donde dice Inherits?

    CodeFile=»Notificacion.aspx.cs» Inherits=»Notificacion» %>

    O en el resto del codigo por ejemplo

    Notificacion

    Notificacion: 

    Les pregunto ya que soy nuevo completamente en programación y les agradecere a quien me pueda decir en donde modificar.

    Gracias y espero su ayuda de favor.

  18. Buenas, estoy haciendo el curso de MVA y presento un problema que es el siguiente: Cuando descargo la aplicación todo va bien pero a la hora de ejecutarla me envía a buscar el archivo DatabaseFactory.cs que antes estaba en «C:\My Dropbox\Projects.OnTheGo.Private\SoftwareFactory\Noixno.Common\Noixno.Data\» y pues no encuentro por ningún lado el reemplazo. ¿Este archivo es indispensable para el funcionamiento de la aplicación? ¿Puedo borrar la relación a esa librería y la aplicación seguirá funcionando normal?

    Un saludo.

  19. Gracias por los ejemplos , en mi caso si me funcionaron , lo unico es que faltan especificar varios pasos que ahorita que estoy comenzando esta algo confuso.
    1. Tienen que crear una Base de datos con el nombre MVAEscuela en la base de Datos de SQL en mi caso tengo SQL2008. y luego correr el Script que esta en el ejemplo.
    2. Al momento de entrar al programa hay que corregir el nombre en las notificaciones lo pueden cambiar. al principio lo indicaban.
    ahora al momento de enviar los mensajes ahi si me da un error en la parte de foreach (Instructor instructor in Instructores). si alguien lo pudo correr me cuentan gracias por la ayuda

    1. Que tal Josue.

      Serias tan gentil en compartirnos los archivos, porque para mi tambien me es un poco dificl el traspaso a la version de Visual que estoy utilizando…

      De antemano Gracias. y mucha suerte a todos en el curso

    2. Josue, si te das cuenta el problema radica en que la validacion para entrar a ese segmento del codigo es esta :

      chkAlumnos.Checked — verifica que haya dado click en alumnos.

      y lo que esta recorriendo son instructores

      debes cambiar esa linea por:
      chkInstructor.Checked

      y la que tiene chkInstructor.Checked ponerle chkAlumnos.Checked

      de esta forma cuando verifique alumnos recorerra alumnos y cuando verifique instructores recorrera instructores.

  20. Me da un error en el script:
    Columna, parámetro o variable nº 5: no se encuentra el tipo de datos DATE.
    El parámetro o la variable ‘@FechaIngreso’ tiene un tipo de datos no válido.
    Estos y otros similares.

  21. me sale este Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas. (provider: Named Pipes Provider, error: 40 – No se pudo abrir una conexión con SQL Server)

  22. Hola, por favor si me explican bien, si es en visual studio 2010 o 2008, sql 2008?, y detallar los pasos a seguir tanto en sql y visual studio.
    Gracias y saludos a todos.

  23. Solamente quiero felicitarla por hacer post tan explicativos y de facil entendimiento; tambien gracias por compartir sus conocimiento con personas que apenas iniciamos a concer y enteder estos conceptos de POO.

      1. … sucede que no se un ápice de .NET… en cambio entiendo programación básica en VB y en C#… pero supuse que al tomar un curso para principiantes, me encontraría con ejemplos para principiantes… imagino que explicarme desde 0 resulta risible, por lo que cambiaré mi petición… porfavor, conoces algún sitio donde encuentre un curso del tipo de VB for beginners para aprender .NET?… de ser así, por favor comparteme el link.

  24. Que tal buenas tardes, al ver el diagrama de clases creo yo que la fecha de nacimiento va en la clase base Persona y no como atributo en Alumno. Ya que la propiedad es unica en clase Persona. Digo a modo de diseño

  25. hola todos, estoy tratando de dscargar los archivode la ap y la VD pero los link no aparecen activos, alguno los tine que me lso pueda psar thk

  26. Hola, buenas noches. Para todos los que han comentado que no entienden, estimo que deberían reflexionar un poco sobre el tema que tratan de abordar, a este nivel es bastante escueto, muy bien formulado y abarca los conceptos necesarios de una manera adecuada, los que estan un poco desubicados son ustedes, con todo respeto. Si estan comenzando les recomiendo en lugar de este método tomar algo con un tutor ya en persona, porque el tema va más un poco más alla de realizar lecturas cortas. Gracias.

    1. Gracias María Eugenia, por la dedicación y esfuerzo, solo una nota, tratar de utilizar StyleCop de forma tal que puedas comentar de una manera los ejmplos manteniendo los standares. Gracias de nuevo.

  27. disculpen a mi me da un error que dice que notificacion no tiene una definicion para text soy nuevo en esto y no he entendido bien gracias por la ayuda!!!

  28. me esta saliendo este error cuando intento enviar una notificacion
    Se produjo una excepción de tipo ‘Noixno.Common.ExceptionCustomList’. que podra ser?

  29. Empezando en el mundo MVA… Todo entendible hasta el momento… pero, en qué versión de Visual Studio va a estar basado todo el curso dl MVA para tenerlo como base… ??? ☺

  30. hola que tal, alguien me puede ayudar?, donde puedo cambiar la cadena de conexion, porque mi sql lo instale modo mixto y me saca error porque tengo que ingresarle la clave del sa

  31. Hola, me ha salido el siguiente error en la depuración del programa…

    {«Se produjo una excepción de tipo ‘Noixno.Common.ExceptionCustomList’.»}

  32. Algunas observaciones si se descarga y todo; pero las versiones para crear la BD es sqlserver 2008 adelante, VS2010 adelante ademas la BD tienes que crearlo tu con nombre MVAEscuela para que no tengas problemas, por el resto basico el tuto.

  33. Tengo visual studio 2010 ya descargue ambos codigos y corregi algunos errores del MVAescuela.zip

    pero no se como agregar el MVAescuelaDB.zip

    no se como ejecutarlos en mi VS2010

  34. Considero que las nomenclaturas que utiliza tienden a confundir (En todos los ejemplos) ademas de las nomenclaturas estan las practicas de programacion que muchos usuarios que se estan iniciando en materia de desarrollo desconocen, esto, tiende a confundir a la gente.

  35. Para los que tienen problemas:

    1.- Deben crear una base de datos llamado «MVAEscuela», luego ejecutar el script de la BD, USE [MVAEscuela] APLICARA EN ESA BD.

    2.-Deben cambiar el nombre de control ya que el formulario tiene el mismo nombre lo que genera un error.

    3.-Deben cambiar la cadena de conexión en web.config.

    //el password que tienen.

    4.-En site master existe tambien otro error,

    // no existe debe cambiarse por

    con esos cambios debería funcionar.

  36. También me salió el error que comentaron anteriormente, el de “C:\My Dropbox\Projects.OnTheGo.Private\SoftwareFactory\Noixno.Common\Noixno.Data\” y pues no sé cómo solucionar ésto… ¿Podrían ayudarme?

  37. estoy apenas iniciando en la programación y la verdad tus ejemplos son de lo mas confuso, son mas para alguien con conocimientos adelantados en el tema. En conclusión no entendí un carajo

  38. El ejemplo es un tanto complejo para los que estamos iniciando, pero con un poco de curiosidad y no dejando de preguntar se aprenden muchas cosas.

    Muchas gracias por el aporte!

  39. También me salió el error que comentaron anteriormente, el de “C:\My Dropbox\Projects.OnTheGo.Private\SoftwareFactory\Noixno.Common\Noixno.Data\” y pues no sé cómo solucionar ésto… donde está Databse.cs ?? pero respondan.. gracias.

  40. Maria Eugenia….. buenas noches…. es necesario tener versión 2010 de .NET??
    Es que tengo 2008 instalado…. para esta situación que debo hacer ?
    Por favor me podría ayudar?

  41. Buenas noches, María Eugenia. A mi criterio me parece un buen material para iniciar, pero para las personas que están comenzando en la tecnología .NET y tienen tropiezo con los código que tienen que descargar porque tienen errores y no existe una respuesta oportuna por parte de la academia se hace cuesta arriba poder masticar los ejemplos, sin contar con participantes que le faltan el respeto a los demás.
    Si estuviéramos practicando el manejo de excepciones o depurando el código es porque ya se tendría la madurez suficientes de todos los conceptos del curso y estaríamos capacitado para resolverlos todos.
    Si estamos hablando de ingeniería del software, unas de las mejores practicas es documentar el código y no solamente hacer referencia para que no se imagine para que sirven, como por ejemplo los set y get de la clase persona y para que sirven.
    Se que uno tiene que investigar por su cuenta, pero las personas necesitan que le den un apoyo en lo básico para luego encaminar con el sendero del aprendizaje .NET.

    Saludos cordiales y nos estamos viendo por este canal.

  42. Hola espero que este bien no he podido trabajar con el materil ya que cuando le doy a ejecutar me sale un erro..creo que es por no halla la direcion de la base de dato..como hago esa cononexion,

  43. «Para finalizar la grafica del Diagrama de Componente para este ejemplo:»

    que yo sepa este es un diagrama de clases, no de componentes.

    saludos

Replica a Josue Cancelar la respuesta