Está en la página 1de 4

CÓDIGO FACTORY METHOD

Diana Laura Velázquez García

Luz María Pérez Sarmiento


Arquitectura de Software

22 DE NOVIEMBRE DE 2022
UNIVERSIDAD TECNÓLOGICA DE PUEBLA
TIC’S: Desarrollo de Software Multiplataforma
Código
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace de_ConsoleAppFactoryMethod_1
{
class Program
{

public interface ITransporte {


string Entrega();
}
class Camion : ITransporte

public string Entrega() {

return "{Resultado de entrega por Camion}";

class Barco : ITransporte

public string Entrega() {

return "{Resultado de entrega por Barco}";

}
abstract class Creator

public abstract ITransporte FactoryMethod();

public string SomeOperation() {

// Llamada del método factory method para crear el objeto product.

var product = FactoryMethod();

// uso del objeto producto.

var result = "Creator: código que trabaja con " + product.Entrega();


return result;

}
class LogisticaTerrestre : Creator

public override ITransporte FactoryMethod() {

return new Camion();

class LogisticaMaritima : Creator

public override ITransporte FactoryMethod() {

return new Barco();

}
class Client

public void Main() {

Console.WriteLine("App: Creado con Logística terrestre.");

ClientCode(new LogisticaTerrestre());

Console.WriteLine("");

Console.WriteLine("App: Creado con Logística marítima.");

ClientCode(new LogisticaMaritima());

public void ClientCode(Creator creator) {

Console.WriteLine("Cliente: desconoce la clase creator.\n" + creator.SomeOperation());

}
static void Main(string[] args) {

new Client().Main();
}

}
}
}

También podría gustarte