コード例 #1
0
        static void Main(string[] args)
        {
            TanqueInimigo tanque = new TanqueInimigo();
            RoboInimigo   robo   = new RoboInimigo();

            IAtaqueInimigo roboAdapter = new RoboInimigoAdapter(robo);

            Console.WriteLine(" ===== ROBO =====");
            robo.ReagirContraHumando("THIAGO NEVES");
            robo.AndarFrente();
            robo.EsmagarComMaos();

            Console.WriteLine(" ===== TANQUE =====");
            tanque.Pilotar("GERO");
            tanque.Movimenta();
            tanque.ArmaFogo();

            Console.WriteLine(" ===== ROBO ADAPTADO =====");
            roboAdapter.Pilotar("THIAGO NEVES ADAPTADO");
            roboAdapter.Movimenta();
            tanque.ArmaFogo();


            Console.ReadKey();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            TanqueInimigo RX2018 = new TanqueInimigo();
            RoboInimigo   R2D2   = new RoboInimigo();

            // Processo de adaptação
            IAtaqueInimigo roboAdapter = new RoboInimigoAdaptador(R2D2);

            Console.WriteLine(" === ROBO === ");
            R2D2.ReagirContraHumano("Rodrigo");
            R2D2.AndarFrente();
            R2D2.EsmagarComMaos();

            Console.WriteLine(" === TANQUE === ");
            RX2018.Pilotar("João");
            RX2018.Movimenta();
            RX2018.ArmaFogo();

            // O Robo adaptado tem os mesmos metodos do tanque, porem os resultados são iguais os do Robo
            Console.WriteLine(" === ROBO ADAPTADO === ");
            roboAdapter.Pilotar("José");
            roboAdapter.Movimenta();
            roboAdapter.ArmaFogo();

            Console.ReadKey();
        }
コード例 #3
0
        static void Main(string[] args)
        {
            TanqueInimigo tanque = new TanqueInimigo();
            RoboInimigo   robo   = new RoboInimigo();

            //passa o robo criado para o adaptador
            IAtaqueInimigo robo_adapter = new RoboInimigoAdapter(robo);

            Console.WriteLine("===ROBO===");
            robo.ReagirContraHumano("Humano");
            robo.Andar();
            robo.EsmagarComMaos();

            Console.WriteLine("===Tanque===");
            tanque.ArmaFogo();
            tanque.Movimenta();
            tanque.Pilotar("Piloto");

            Console.WriteLine("===RoboAdaptado===");
            robo_adapter.Movimenta();
            robo_adapter.ArmaFogo();
            robo_adapter.Pilotar("Adapter");
        }
コード例 #4
0
        static void Main(string[] args)
        {
            TanqueInimigo rx2018 = new TanqueInimigo();
            RoboInimigo   r2d2   = new RoboInimigo();

            IAtaqueInimigo robo_Adapter = new RoboInimigoAdapter(r2d2);

            Console.WriteLine(" ========== ROBO ========== ");
            r2d2.ReagirContraHumano("Rodrigo");
            r2d2.AndarFrente();
            r2d2.EsmagarComMaos();

            Console.WriteLine(" ========== TANQUE ========== ");
            rx2018.Pilotar("João");
            rx2018.movimenta();
            rx2018.ArmaFogo();

            Console.WriteLine(" ========== ROBO ADAPTER ======= ");
            robo_Adapter.Pilotar("Rodrigo");
            robo_Adapter.movimenta();
            robo_Adapter.ArmaFogo();

            Console.ReadKey();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: sbrunodev/design-patterns
        static void Main(string[] args)
        {
            TanqueInimigo tx2019 = new TanqueInimigo();
            RoboInimigo   R2D2   = new RoboInimigo();

            IAtaqueInimigo roboAdapter = new RoboInimigoAdapter(R2D2);

            Console.WriteLine(" ===== ROBO ===== ");
            R2D2.ReagirContraHumano("Bruno");
            R2D2.AndarParaFrente();
            R2D2.EsmagarComMaos();

            Console.WriteLine(" ===== TANQUE ===== ");
            tx2019.Pilotar("Bruno");
            tx2019.Movimenta();
            tx2019.ArmaFogo();

            Console.WriteLine(" ===== ROBO ADAPTADO ===== ");
            roboAdapter.Pilotar("Bruno");
            roboAdapter.Movimenta();
            roboAdapter.ArmaFogo();

            Console.ReadKey();
        }
コード例 #6
0
 public void ArmaFogo()
 {
     _roboInimigo.EsmagarComMaos();
 }
コード例 #7
0
 public void ArmaFogo()
 {
     robo.EsmagarComMaos();
 }