Pop

Patrones de diseño software 5. Prototype superficial

5.Patrón de creación Prototype superficial

  • Hola a todos.Seguimos con  nuestro  curso dedicado a los patrones de diseño software.Los patrones de diseño son unas técnicas para resolver problemas comunes en el desarrollo de software y otros ámbitos  referentes al diseño de interacción o interfaces.
  • En esta ocasión veremos el patrón de diseño  Prototype superficial. El patrón de diseño prototipo tiene como finalidad crear nuevos objetos clonando una instancia creada previamente. 
  • Este patrón especifica la clase de objetos a crear mediante la clonación de un prototipo que es una instancia ya creada. La clase de los objetos que servirán de prototipo deberá incluir en su interfaz la manera de solicitar una copia, que será desarrollada luego por las clases concretas de prototipos.
  • En el siguiente  vídeo tenéis un ejemplo de este patrón de diseño.
  • Os dejo el código visto en el vídeo:
* Clase Mueble:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Prototype_superficial
{
    class Mueble:ICloneable
    {
        private int numAsientos;
        private string nombre;

        public int NumAsientos { get => numAsientos; set => numAsientos = value; }
        public string Nombre { get => nombre; set => nombre = value; }

        public object Clone()
        {
            return this.MemberwiseClone();
        }
 }
}

* Clase Program:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Prototype_superficial
{
    class Program
    {
        static void Main(string[] args)
        {
            Mueble mueble = new Mueble();
            mueble.NumAsientos = 1;
            mueble.Nombre = "Silla";

            Console.WriteLine("num:" + mueble.NumAsientos.ToString());
            Console.WriteLine("nombre:" + mueble.Nombre);

            Mueble clonMueble = mueble.Clone() as Mueble;
            clonMueble.NumAsientos = 3;
            clonMueble.Nombre = "Sofa";


            Console.WriteLine("num:" + clonMueble.NumAsientos.ToString());
            Console.WriteLine("nombre:" + clonMueble.Nombre);

            Console.ReadLine();
        }
    }
}

    

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...