Preguntas y respuestas de programación #12, ¿Cómo consumir un servicio soap?

Contestando preguntas y respuestas sobre programación.

  • ¿Diferencia entre backgroundworker y método asíncrono?
  • ¿Cuál es la curva de aprendizaje para ser un buen desarrollador?
  • ¿Cómo consumir un servicio soap?
  • ¿Cómo saber elegir la arquitectura correcta?
  • ¿Cómo estructurar un proyecto?

Curso de arquitectura software

En este curso te enseñare según mi experiencia como puedes irte adentrando a ser un arquitecto de software.

Te daré consejos de como dividir un sistema y organizarlo, así como problemática que puedes encontrar, experiencia con clientes, como hacer sistemas escalables y listos para enfrentar cambios.

El curso esta en proceso por lo cual te recomiendo te suscribas a mi canal dando clic aquí para que estés enterado al momento que publique nuevo video de esta serie.

1.- Diagrama de componentes, aun sirve UML

2.- Identificar la solución al problema, diagrama de secuencia

3.- Escalabilidad y rendimiento

4.- Seguridad en desarrollo de software parte 1 de 2

5.- Seguridad en desarrollo de software parte 2 de 2

Podcast #11 – El concepto de abstracción en el desarrollo de software

En este podcast hablare de un tema que no muchos hablan, sobre el concepto de abstracción en el desarrollo de software, y como se obtiene está conforme pasan los años.

Prototype deep en C# .Net, Patrones de diseño, design patterns, #3

En este video explicare el patrón de diseño prototype deep en c# .Net, sis inconvenientes y su diferencia con el patrón de diseño prototype shallow.

Código

 public class Animal : ICloneable
    {
        public int Patas { get; set; }
        public string Nombre { get; set; }

        public Detalles Rasgos { get; set; }


        public object Clone()
        {
            Animal clonado = this.MemberwiseClone() as Animal;
            Detalles detalles = new Detalles();
            detalles.Color = this.Rasgos.Color;
            detalles.Raza = this.Rasgos.Raza;
            clonado.Rasgos = detalles;
            return clonado;
        }
    }

    public class Detalles
    {
        public string Color { get; set; }
        public string Raza { get; set; }
    }

//De esta manera se demuestra
 Animal oAnimal = new Animal() { Nombre = "Oveja Dolly", Patas = 4 };
oAnimal.Rasgos = new Detalles();
oAnimal.Rasgos.Color = "Blanca";
oAnimal.Rasgos.Raza = "Oveja";

Animal oAnimalClonado = oAnimal.Clone() as Animal;
oAnimalClonado.Rasgos.Color = "Negro";
oAnimalClonado.Nombre = "Oveja negra";

Console.WriteLine("animal original: "+oAnimal.Rasgos.Color);
Console.WriteLine("annimal clonado: "+oAnimalClonado.Rasgos.Color);
Console.WriteLine("animal original: "+oAnimal.Nombre);
Console.WriteLine("animal clonado: "+oAnimalClonado.Nombre);

Todos mis videos de patrones de diseño en C# .Net: https://www.youtube.com/watch?v=K902i_tsXl0&list=PLWYKfSbdsjJiiaXNIW1OYhRnStsyGvr6t

Prototype shallow en C# .Net, Patrones de diseño, design patterns, #2

En este video te explico el patrón de diseño Prototype superficial, y ejemplos de cuando utilizarlo y como programarlo.


//clase prototype superficial
public class Animal : ICloneable
    {
        public int Patas { get; set; }
        public string Nombre { get; set; }

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

//como utilizarla
  Animal oAnimal = new Animal() { Nombre="Oveja Dolly", Patas=4};
  Animal oAnimalClonado = oAnimal.Clone() as Animal;
  oAnimalClonado.Patas = 5;

  Console.WriteLine(oAnimal.Patas);



Todos mis videos de patrones de diseño en C# .Net: https://www.youtube.com/watch?v=K902i_tsXl0&list=PLWYKfSbdsjJiiaXNIW1OYhRnStsyGvr6t

Singleton en C# .Net, Patrones de diseño, design patterns, #1

En este video te explico el patrón de diseño Singleton, sus características y cuando utilizarlo.


 public class Singleton
    {
        private static Singleton instance = null;
        public string mensaje = "";

        protected Singleton() {
            mensaje = "hola mundo";
        }

        public static Singleton Instance
        {
            get
            {
                if (instance == null)
                    instance = new Singleton();

                return instance;
            }
        }

    }