static void Main(string[] args) { ConexaoSingleton c1 = ConexaoSingleton.GetConexao(); ConexaoSingleton c2 = ConexaoSingleton.GetConexao(); if (c1.Equals(c2)) { Console.WriteLine("sim"); } // polimorfismo Crepusculo cres = new Crepusculo(); StarWars srw = new StarWars(); Cinema cin = new Cinema(); cin.EntrarNoCinema(srw); cin.EntrarNoCinema(cres); //Factory Method 1 MotoFactory fab = new MotoFactory(); MotoNinja c = (MotoNinja)fab.FabricarMotos(EMotos.NINJA); c.ExibirModelo(); //Factory Method 2 fazendo as fabricas especificas Fabrica[] fabs = new Fabrica[4]; fabs[0] = new FabricaBMW(); fabs[1] = new FabricaHonda(); fabs[2] = new FabricaNinja(); fabs[3] = new FabricaYBR(); foreach (var fabF in fabs) { IMoto moto = fabF.FabricarMotos(); Console.WriteLine("Criado {0}", moto.GetType().Name); moto.ExibirModelo(); } Pizzaiolo pizzaiolo = new Pizzaiolo(); Comida pizza = pizzaiolo.criaComida(); pizzaiolo.cozinhar(); Churrasqueiro churras = new Churrasqueiro(); Comida carne = churras.criaComida(); churras.cozinhar(); var veicu = new ConcreteVeiculoFactory().GetVeiculo("bike"); veicu.Dirigir(); veicu = new ConcreteVeiculoFactory().GetVeiculo("scooter"); veicu.Dirigir(); }
public static void Execucao() { var factory = new ConcreteVeiculoFactory(); var moto = factory.ObterVeiculo("Leve"); moto.Limite(300); var carro = factory.ObterVeiculo("Medio"); carro.Limite(250); var caminhonete = factory.ObterVeiculo("Pesado"); caminhonete.Limite(180); }