Maquina refatorada#17
Open
guilhermevictorlima wants to merge 8 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Principais mudanças:
Reorganização das pastas
Divisão de tarefas do SistemaInterno nas classes MaquinaCafe e InteraçãoComUsuario.
--> MaquinaCafe: Mãe de SistemaInterno e parente de todas as classes. Sua função é cuidar do que é fisicamente ligado à máquina de café, neste caso o reservatório de água. Caso fossem adicionadas funcionalidades referentes ao nível de açúcar ou outros ingredientes, estes seriam geridos pela MaquinaCafe.
--> InteraçãoComUsuario: Filha de SistemaInterno, armazena métodos ligados à interação com o usuário.
Delegação dos métodos de preparo em Bebida para ProcessoDePreparoService, que cuida do processo de ferver e filtrar a bebida.
Para o uso dos ingredientes, foi criada a classe IngredienteService.
ColecaoBebidas refatorada.
Métodos de administração e verificação de SistemaPagamento delegados às classes AdministraCreditoService e VerificacoesDePrecoService, enquanto métodos que lidam diretamente com pagamento delegados às classes DebitoService e DinheiroService, que implementam a interface IFormaDePagamento.
Criação das classes PagamentoSomenteComCreditoService e PagamentoBemSucedidoComCreditoService para auxiliar AdministraCreditoService com o pagamento em créditos.
Responsabilidades de EscolhaPedido reduzidas.
--> Criada Classe Menu para visualização do menu.
--> Criação da classe EscolhaRepassada que repassa a escolha para Preparo se for água, ou para ProcessoPedido caso não seja.
Responsabilidades de ProcessoPedido reduzidas.
--> Criação da classe NivelAcucarService.
--> Criação da classe PagamentoService, que recebe a escolha de pagamento do usuário e a valida.
Corrigido erro em que crédito só era checado após inserir dinheiro. Assim, era necessário inserir cada vez mais dinheiro ao invés de usar somente o crédito para pagar.
Remoção de SistemaInternoTest e SistemaPagamentoTest e um total de 11 testes adicionados.
Fluxograma atualizado. Mapa mental da hierarquia das abstrações adicionado. Ambos disponíveis no README.