Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Desafio | Classes de operações

E ai pessoar, tudo baum co ceis ?!?

Se liga nessa história, que loucura, estava eu fazendo minha atividade e estudando enquanto seu lobo não vem, está pronto Seu Lobo??? Não, estou tentando resolver um desafio da Alura... pronto a vovozinha esta salva, porque o Seu Lobo morreu de fome, não conseguiu resolver o desafio.

Eu por outro lado consegui fazer uma GAMBIARRA, que no começo só Eu e Deus sabia como o código estava funcionando, agora ??? só Deus sabe.

Apesar de tudo isso, no final consegui chegar a resultado satisfatório, como ? por que? onde? Não me perguntem.

Bom... chega de brincadeira, vamos para o código, eis o desafio:

Nossa, pensei comigo, molezinha, que top. Só que não.

Porque o problema era que eu não queria fazer uma resposta igual a do professor, Ai nossa, olha o diferentão... Pois é, fica a dica: Com tantas pessoas programadoras, o que vai te destacar dos demais?

Comecei atacando o problema com 4 pedras nas mãos, e ai ai , hoje eu to que to... Desculpa é o nervosismo, meu primeiro artigo que considero relevante, e tem mais piada do que solução.

Pensei comigo, hum, organização de classes em diretório.

  • Tentei implementar herança, mas professor André nem ensinou ainda, de nada adiantou, a organização das classes não ficava do jeito que queria
  • Tentei criar uma classe para instanciar cada operação, pensei mais um pouco, porque eu estou matando uma formiga com uma bala de canhão?
  • Vou implementar tudo na classe Calculadora e esta tudo certo, depois bateu o peso na consciência, não era isso o que o exercício estava pedindo.

Por fim, me veio a mente uma coisa o professor Alemão do curso de Java me disse uma vez, sobre uma classe poder implementar varias interfaces, pensei de novo comigo mesmo, será que no C# esse comportamento é igual ?? Partiu testar...

E claro que eu provavelmente estou usando esse negócio de interface completamente errado, pelo menos eu acho que estou, mas já ouviu a frase que: "Os brasileiros precisam ser estudados?", é muito real...

  • Criei um diretório chamado útil, nesse diretório eu tenho minha classe Calculadora e outro diretório chamado Operacoes

  • Cada operação é uma interface, que implementa sua própria regra de negócio, dessa forma eu consigo encapsular o B.O

  • E enquanto eu estava escrevendo percebi que iria estourar meu limite de caracteres, portanto vou printar.

Dividir.cs

Achei muito verboso, nesse momento estou refatorando.

Agora sim, que coisa formosa, que coisa linda, que coisa elegante.

  • Próximo, Multiplicar, naquele mesmo esquema, com a mágica da escrita assíncrona, acabei de refatorar, para vocês fora em um instante.

Multiplicar.cs

  • Próximo... Somar, esse é difícil

Somar.cs

  • E por último, não menos importante, a anti-partícula do somar.

Subtrair.cs

Agora, vocês devem estar se perguntando, mas como tudo isso se conecta para formar a calculadora?

Na classe calculadora:

Calculadora.cs

E o mais legal, como a gente não precisa manter estado de objeto, mandei-lhe um tudo static.

  • Resultado final:

Program.cs

Disclaime

Para quem não me conhece, meu nome é Lucas, tenho 32 anos, e aproximadamente um ano resolvi embarcar nessa aquisição de carreira, sim... aquisição, porque ser motorista de aplicativo, garçom, servente de pedreiro, não é carreira, é um trabalho digno como qualquer outro, mas não carreira. Esse código é bem capaz de virar meme em alguma rede social, mas se você pensar que eu consegui fazer isso, mesmo sem estudo de qualidade na minha infância, mesmo sem faculdade, só com as ferramentas que eu tenho em mãos, Imagina o que eu poderia fazer se tivesse uma oportunidade? Imagina o que eu poderia fazer se tivesse uma orientação?

Obrigado por lerem até aqui. Bons Estudos! e uma ótima semana.
1 resposta
solução!

Artigos que eu recomendo:

Outros artigos:

Desafio | Construindo com informações

Desafio | Propriedades

Desafio | Composição de classes

Desafio | Exibir informações de um objeto

Desafio | Sistema métido

Desafio | Supermercado menor preço

Obrigado por lerem até aqui. Bons Estudos! e uma ótima semana.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software