static void Main(string[] args)
        {
            var pagamento = new Pagamento();

            pagamento.AddItem(new Item()
            {
                Codigo = 1,
                Valor = 0.5M
            });

            pagamento.AddItem(new Item()
            {
                Codigo = 2,
                Valor = 2.39M
            });

            pagamento.ProcessarPagamento();

            Console.ReadKey();
        }
 /// <summary>
 /// Factory Method
 /// </summary>
 /// <param name="pagamento"></param>
 public void RegistrarPagamento(Pagamento pagamento)
 {
     Pagamento = pagamento;
     Processo1();
     Processo2();
 }