Acceder Registrarme

POO CON C#: 008-CRUD CON LISTAS Y PROGRAMACIÓN ORIENTADA A OBJETOS (NO DB) P1


En este post empezamos con una secuencia de 3 publicaciones, donde veremos y aplicaremos los conocimientos adquiridos en POO hasta el momento.

Autor: Kevin Arias (Ver todos sus post)

C# C Sharp Programación orientada a objetos POO CRUD Listas

Fecha de publicación: 2016-09-09 13:56:37

Ayúdanos con el arduo trabajo que realizamos.
[POO CON C#] POO CON C#: 008-CRUD CON LISTAS Y PROGRAMACIÓN ORIENTADA A OBJETOS (NO DB) P1

En este ejemplo trabajamos con la simulación de un CRUD donde aplicaremos un poco de la POO con la distribución en ciertas capas muy simples para entender el uso adecuado de esto.

En esta primera parte, nos concetraremos netamente en armar la arquitectura básica de nuestro proyecto.

Seguidamente les dejo el código de las clases que empleamos para seguir este CRUD basado en una lista estática y los conceptos de programación orientada a objetos.

Datos.cs

using System.Collections.Generic;

namespace AppFirst
{
    public class Datos
    {
        public static List dataPersona;
    }
}

AccesoDatos.cs

using System;
using System.Collections.Generic;

namespace AppFirst
{
    public class AccesoDatos : IAccesoDatos
    {
        public bool create(Persona persona)
        {
            throw new NotImplementedException();
        }

        public bool delete(string documentoIdentidad)
        {
            throw new NotImplementedException();
        }

        public List read()
        {
            throw new NotImplementedException();
        }

        public bool update(Persona persona)
        {
            throw new NotImplementedException();
        }
    }
}

IAccesoDatos.cs

using System.Collections.Generic;

namespace AppFirst
{
    public interface IAccesoDatos
    {
        bool create(Persona persona);
        List read();
        bool update(Persona persona);
        bool delete(string documentoIdentidad);
    }
}

Auditoria.cs

using System;

namespace AppFirst
{
    public abstract class Auditoria
    {
        public DateTime fechaRegistro { get; set; }
        public DateTime fechaModificacion { get; set; }
    }
}

Persona.cs

using System;

namespace AppFirst
{
    public class Persona : Auditoria
    {
        public string nombre { get; set; }
        public string apellido { get; set; }
        public string documentoIdentidad { get; set; }
        public bool sexo { get; set; }
        public DateTime fechaNacimiento { get; set; }
        public float estatura { get; set; }
    }
}

Negocio.cs

namespace AppFirst
{
    public class Negocio
    {
        public void insertar()
        {

        }

        public void listar()
        {

        }

        public void editar()
        {

        }

        public void eliminar()
        {

        }
    }
}

Program.cs

using System;

namespace AppFirst
{
    public class Program
    {
        public static void Main(string[] args)
        {
            int opcionSeleccionada = 0;
            int x;

            while (opcionSeleccionada != 5)
            {
                Console.WriteLine("1. Insertar persona.");
                Console.WriteLine("2. Listar personas.");
                Console.WriteLine("3. Editar persona.");
                Console.WriteLine("4. Eliminar persona.");
                Console.WriteLine("5. Salir.");
                Console.WriteLine("----------------------------------------------------");
                Console.WriteLine("Ingrese una opción:");

                string opcionSeleccionadaTemporal = Console.ReadLine();

                if (int.TryParse(opcionSeleccionadaTemporal, out x))
                {
                    opcionSeleccionada = int.Parse(opcionSeleccionadaTemporal);

                    switch (opcionSeleccionada)
                    {
                        case 1:

                            break;
                        case 2:

                            break;
                        case 3:

                            break;
                        case 4:

                            break;
                        case 5:

                            break;

                        default:
                            Console.WriteLine("La opción asignada no está definida en el menú.");

                            break;
                    }
                }
                else
                {
                    opcionSeleccionada = 0;

                    Console.WriteLine("El valor ingresado no es correcto");
                }

                if (opcionSeleccionada != 5)
                {
                    Console.ReadLine();
                }

                Console.Clear();
            }
        }
    }
}

Como se puede ver en el código anterior de las diferentes clases; en esta parte sólo nos concentramos en armar la arquitectura, tal como se mencionó anteriormente. Para una explicación detallada de todo el proceso y el uso de las clases, interfaces y demás objetos definidos anteriormente, se les deja un video que detalla esto.




INFORMACIÓN SOBRE EL AUTOR DEL ARTÍCULO
KEVIN ARNOLD ARIAS FIGUEROA (SOFTWARE ARCHITECT - CODIDEEP E.I.R.L.): Profesional en tecnologías de la información con más de 10 años de experiencia en desarrollo de software empresarial, con amplios conocimientos en manejo de arquitecturas de software de escala vertical y horizontal, gestión de proyectos, liderazgo de equipos y dominio en modelado de procesos a gran escala.


  • Debes estar logueado para realizar comentarios