コード例 #1
0
        static void Abstracao_BemIntencionado()
        {
            // Utilizando a abstração da POO podemos organizar melhor o nosso código, mas ainda não é suficiente para resolver
            // a questão da segurança, pois ainda temos acesso externo às propriedades da classe PagamentoCartao, que podem ser
            // manipuladas...

            var pagamentoCartao = new POO_Console.B_POO.A_Abstracao.PagamentoCartao();
            var cliente         = new POO_Console.B_POO.A_Abstracao.Cliente();

            pagamentoCartao.EfetuarPagamento(cliente, "0000-0000-0000-0000", "000");
        }
コード例 #2
0
        static void Abstracao_MalIntencionado()
        {
            // Utilizando a abstração da POO podemos organizar melhor o nosso código, mas ainda não é suficiente para resolver
            // a questão da segurança, pois ainda temos acesso externo às propriedades da classe PagamentoCartao, que podem ser
            // manipuladas...

            var pagamentoCartao = new POO_Console.B_POO.A_Abstracao.PagamentoCartao();
            var cliente         = new POO_Console.B_POO.A_Abstracao.Cliente();


            cliente.ClienteCodigoCartao = "999";                      //}
            cliente.ClienteNumeroCartao = "9999-9999-9999-9999";      //}=>  Aqui está a má intenção: Manipular informações
            pagamentoCartao.Valor       = 1000000000000000000000.00m; //}

            pagamentoCartao.EfetuarPagamento(cliente, "9999-9999-9999-9999", "999");
        }