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"); }
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"); }