public void CriandoPrototipo() { GerenciadorNuvens gerenciadorNuvens = new GerenciadorNuvens(); gerenciadorNuvens["padrão"] = new NuvemConcreta("branco", "azul"); gerenciadorNuvens["personalizada"] = new NuvemConcreta("branco", "laranja"); var um = gerenciadorNuvens["padrão"].Clone() as NuvemConcreta; Assert.Equal("branco", um.CorPreenchimento); Assert.Equal("azul", um.CorContorno); var dois = gerenciadorNuvens["padrão"].Clone() as NuvemConcreta; Assert.Equal("branco", dois.CorPreenchimento); Assert.Equal("azul", dois.CorContorno); var tres = gerenciadorNuvens["personalizada"].Clone() as NuvemConcreta; Assert.Equal("branco", tres.CorPreenchimento); Assert.Equal("laranja", tres.CorContorno); }
static void Main(string[] args) { //#region Factory Method //FactoryMethod fm = new FactoryMethod(); //Console.WriteLine("Liu Kang | SubZero | Scorpion"); //Console.WriteLine(); //Console.Write("Escolha seu Personagem: "); //string escolha = Console.ReadLine(); //IPersonagem personagem = fm.EscolherPersonagem(escolha); //Console.WriteLine(); //Console.Write("Você vai jogar com "); //personagem.Escolhido(); //Console.ReadKey(); //#endregion //#region Abstract Factory //IFabricaBases fabrica; //Console.Write("Escolha um dos personagens: 1-Protoss | 2 - Zergs | 3 - Terranos: "); //switch (Console.ReadLine()) //{ // case "1": // fabrica = new FabricaBaseProtoss(); // break; // case "2": // fabrica = new FabricaBaseZerg(); // break; // case "3": // fabrica = new FabricaBaseTerran(); // break; //} //Console.ReadLine(); //#endregion //#region Singleton //Singleton jogador_1 = Singleton.GetInstancia; //jogador_1.Mensagem("Jogador 1: A bola está comigo no meio do campo."); //Singleton jogador_2 = Singleton.GetInstancia; //jogador_2.Mensagem("Jogador 2: recebeu a bola."); //Singleton jogador_3 = Singleton.GetInstancia; //jogador_3.Mensagem("Jogador 3: recebeu o lançamento na linha de fundo."); //Console.ReadKey(); //#endregion //#region Builder //var exercito = new Exercito(); //CriadorDeSoldado criadorDeSoldado; //Soldado soldado; ////criando um soldado das Forças Especiais //criadorDeSoldado = new CriadorForcasEspeciais(); //exercito.ConstruirSoldado(criadorDeSoldado); //soldado = criadorDeSoldado.ObterSoldado(); //Console.WriteLine("Soldado com as características: {0}, {1}, {2}", soldado.Arma, soldado.Transporte, soldado.Foco); ////criando o soldado de Infantaria Leve //criadorDeSoldado = new CriadorDeInfantariaLeve(); //exercito.ConstruirSoldado(criadorDeSoldado); //soldado = criadorDeSoldado.ObterSoldado(); //Console.WriteLine("Soldado com as características: {0}, {1}, {2}", soldado.Arma, soldado.Transporte, soldado.Foco); //Console.ReadKey(); //#endregion #region Prototype GerenciadorNuvens gerenciador_de_nuvens = new GerenciadorNuvens(); gerenciador_de_nuvens["padrão"] = new NuvemConcreta("branco", "azul"); gerenciador_de_nuvens["personalizada"] = new NuvemConcreta("branco", "laranja"); NuvemConcreta um = gerenciador_de_nuvens["padrão"].Clone() as NuvemConcreta; NuvemConcreta dois = gerenciador_de_nuvens["padrão"].Clone() as NuvemConcreta; NuvemConcreta tres = gerenciador_de_nuvens["personalizada"].Clone() as NuvemConcreta; Console.ReadKey(); #endregion }