private static void State1() { try { var reforma = new Orcamento(500); Console.WriteLine("Status: " + reforma.Status + " | Saldo: " + reforma.Valor); reforma.AplicaDescontoExtra(); Console.WriteLine("Status: " + reforma.Status + " | Saldo: " + reforma.Valor); reforma.Aprova(); Console.WriteLine("\nStatus: " + reforma.Status + " | Saldo: " + reforma.Valor); reforma.AplicaDescontoExtra(); Console.WriteLine("Status: " + reforma.Status + " | Saldo: " + reforma.Valor); reforma.Finaliza(); Console.WriteLine("\nStatus: " + reforma.Status + " | Saldo: " + reforma.Valor); reforma.AplicaDescontoExtra(); } catch (Exception e) { Console.WriteLine(e.Message); } }
/// <summary> /// Conceito de Design Patterns estudado: State /// </summary> public static void ExecutaCalculadoraDeDescontosState() { Orcamento reforma = new Orcamento(500); Console.WriteLine(reforma.Valor); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); reforma.Aprova(); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); reforma.Finaliza(); }
private static void MostraEstado() { Orcamento reforma = new Orcamento(5000); Console.WriteLine(reforma.Valor); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); reforma.Aprova(); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); reforma.Finaliza(); }
private static void TestaDescontoExtra() //State { Orcamento reforma = new Orcamento(500.0); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); // imprime 475,00 pois descontou 5% reforma.Aprova(); // aprova nota! reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); // imprime 465,50 pois descontou 2% reforma.AplicaDescontoExtra(); reforma.Finaliza(); //reforma.AplicaDescontoExtra(); }
static void Main(string[] args) { Orcamento reforma = new Orcamento(500); Console.WriteLine(reforma.Valor); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); reforma.Aprova(); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); reforma.Finaliza(); reforma.AplicaDescontoExtra(); Console.ReadKey(); /*demorar o tempo um pouco*/ }
private static void TestaStateEstadosOrcamento() { var reforma = new Orcamento(500); Console.WriteLine(reforma.Valor); reforma.AplicaDescontoExtra(); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); reforma.Aprova(); reforma.AplicaDescontoExtra(); Console.WriteLine(reforma.Valor); reforma.Finaliza(); //reforma.AplicaDescontoExtra(); -> Joga exceção. Console.ReadKey(); }