public void Main() { ITransporteFactory transporte = new TransporteFactory(); IEmpresaFactory empresaFactory = new EmpresaFactory(); do { ITipoEnvio tipoEnvio = transporte.CrearInstancia(ObtenerTransporte()); int iEmpresa = ObtenerEmpresa(); string cProducto = ObtenerProducto(); Empresas empresa = empresaFactory.CrearInstancia(iEmpresa, tipoEnvio, cProducto); IniciarMensajeria(empresa); } while (true); }
public Empresas CrearInstancia(int iTipo, ITipoEnvio tipoEnvio, string cProducto) { Empresas empresa = null; switch (iTipo) { case 1: empresa = new DHL(tipoEnvio, cProducto); break; case 2: empresa = new Fedex(tipoEnvio, cProducto); break; case 4: empresa = new Estafeta(tipoEnvio, cProducto); break; } return(empresa); }
public ITipoEnvio CrearInstancia(int iTipo) { ITipoEnvio tipoEnvio = null; switch (iTipo) { case 1: tipoEnvio = new Avion(); break; case 2: tipoEnvio = new Tren(); break; case 3: tipoEnvio = new Barco(); break; default: break; } return(tipoEnvio); }
public Fedex(ITipoEnvio tipoEnvio, string cProducto) : base(tipoEnvio, cProducto) { }
public Empresas(ITipoEnvio tipoEnvio, string cProducto) { _tipoEnvio = tipoEnvio; _cProducto = cProducto; }
public EmpresaDHL(ITipoEnvio _ITipoEnvio) { this.ITipoEnvio = _ITipoEnvio; }
public Estafeta(ITipoEnvio tipoEnvio, string cProducto) : base(tipoEnvio, cProducto) { }
public EmpresaFedex(ITipoEnvio _ITipoEnvio) { this.ITipoEnvio = _ITipoEnvio; }
public EmpresaEstafeta(ITipoEnvio _ITipoEnvio) { this.ITipoEnvio = _ITipoEnvio; }
public DHL(ITipoEnvio tipoEnvio, string cProducto) : base(tipoEnvio, cProducto) { }