Ir para o conteúdo do rodapé
Iron Academy Logo
Aplicação C#
Aplicação C#

Outras categorias

Planejamento Lógico do App — Um Olhar Mais Profundo na Abordagem de Tim Corey

Tim Corey
17m 14s

Em sua série C# App Start To Finish, Tim Corey explica que construir um aplicativo não é apenas escrever código. O verdadeiro desafio está em planejar a lógica do aplicativo — como as diferentes partes do aplicativo interagirão, comunicarão e moverão dados entre telas e componentes. Na Lição 05 sobre Planejamento Lógico, Tim foca no planejamento lógico, enfatizando que esta é a fase em que você decide como o aplicativo se comportará como um todo.

Ele nos lembra que até este ponto, o curso já cobriu requisitos de escopo, construção de estrutura geral, design do back-end de dados e desenvolvimento da interface do usuário. Agora, diz Tim, o próximo passo é conectar tudo através da lógica.

Tim esclarece que essa aula não mergulhará no código ainda. Em vez disso, ele quer cobrir as ideias globais, o quadro geral e a lógica geral por trás do aplicativo. Ele incentiva a escrita de notas no papel e o desenho de setas para mapear como cada formulário e botão devem se comportar, o que é semelhante à forma como os processos de negócios são mapeados em ambientes de desenvolvimento profissional. Este planejamento ajuda a lógica do aplicativo a se tornar clara antes de avançar para a codificação.

Por que o planejamento lógico é importante

Tim começa afirmando que conectar os formulários é a parte principal da lógica do aplicativo. Uma vez que os formulários estejam corretamente conectados, as tarefas restantes geralmente são menores. Ele explica que o processo de planejamento lógico ajuda a entender a funcionalidade, os processos e os controles que o aplicativo deve suportar.

Tim diz que, se estivesse fazendo isso no papel, escreveria o que cada componente deve fazer e desenharia setas entre eles. Mesmo que a aula esteja trabalhando na tela, ele planeja percorrer cada formulário e explicar a lógica por trás de cada peça.

Lógica do Formulário Criar Torneio

Tim começa com o formulário Criar Torneio, que é um dos formulários mais simples. Ele explica a lógica por trás de cada botão e como eles devem funcionar juntos.

Botão Criar Nova Equipe

Tim explica que o botão Criar Nova Equipe abre o formulário Criar Equipe. Depois que uma equipe é criada, o novo formulário é fechado e os dados da equipe criada são retornados ao formulário Criar Torneio. A equipe deve aparecer na caixa de lista de equipes/jogadores, e isso é feito criando um método que pode ser chamado a partir do formulário Criar Equipe.

Tim também introduce o conceito de usar interfaces para essa comunicação, explicando que interfaces permitem que formulários interajam sem saber diretamente sobre os outros. Este é um exemplo clássico de como a lógica de negócios e a arquitetura de software trabalham juntas para manter a qualidade, integridade e interação limpa entre os componentes.

Botão Adicionar Equipe

Tim explica que o botão Adicionar Equipe é direto. Ele verifica qual item está selecionado na lista suspensa, adiciona aquela equipe à lista de torneios, remove-a da lista suspensa e, em seguida, atualiza ambas as listas. Essa lógica garante que a seleção do usuário seja refletida corretamente na interface do usuário e nos dados subjacentes.

Botão Criar Prêmio

Tim explica que o botão Criar Prêmio se comporta de maneira semelhante ao botão Criar Nova Equipe. Ele abre o formulário Criar Prêmio, espera o prêmio ser criado e então adiciona esse prêmio à caixa de lista de prêmios. A lógica é a mesma, mas a classe e o tipo de dados são diferentes.

Botões Excluir Selecionados

Tim explica que os botões de exclusão removem o item selecionado da caixa de lista. No caso de equipes, a lógica também retorna a equipe excluída para a lista suspensa, garantindo que o usuário possa adicioná-la novamente mais tarde. Este tipo de atualização em tempo real melhora a experiência do usuário e ajuda a manter dados corretos em toda a interface do usuário.

Botão Criar Torneio

Tim explica que este é o grande botão porque aciona a maior parte da lógica. Quando clicado, ele deve validar todas as informações:

  • O nome do torneio não pode estar vazio

  • A taxa de inscrição não pode ser negativa

  • Pelo menos duas equipes devem existir

Após a validação, Tim explica o próximo passo importante: criar o cronograma. A lógica do cronograma do torneio determina quantas equipes devem estar no torneio e quantos "byes" são necessários. Tim faz referência a um documento acompanhante onde ele escreveu a fórmula para este cálculo. Por exemplo, se o torneio tiver 10 equipes, o torneio deve começar com 16 equipes, o que significa que 6 "byes" são necessários na primeira rodada.

Tim também observa que a lógica precisa randomizar a ordem da primeira rodada. Uma vez que tudo isso esteja completo, o formulário é concluído e o aplicativo pode seguir em frente.

Lógica do Formulário Criar Equipe

Tim segue para o formulário Criar Equipe e explica a lógica por trás de seus botões.

Botão Adicionar Membro

Tim diz que este botão adiciona um membro existente de uma lista suspensa à caixa de lista da equipe. Em seguida, remove esse membro da lista suspensa e atualiza ambas as listas. Tim destaca que esta é uma lógica semelhante ao botão Adicionar Equipe.

Botão Criar Membro

Tim explica que o botão Criar Membro pega os quatro campos de entrada, cria um novo membro da equipe, adiciona-o à caixa de lista e limpa os campos. Este é um exemplo típico de tarefas comuns na lógica de aplicação, onde a entrada do usuário deve ser processada e refletida na UI.

Botão Criar Equipe

Tim diz que o botão Criar Equipe deve validar a equipe e então enviar a equipe criada de volta para o chamador. Ele observa que o formulário está faltando um botão para deletar jogador, o qual deve ser adicionado para combinar com os outros formulários e fornecer uma experiência do usuário consistente. Tim explica que o comportamento consistente da UI é importante para a familiaridade e conforto do usuário.

Lógica do Formulário Criar Prêmio

Tim descreve o formulário Criar Prêmio como mais simples. Ele tem quatro caixas de texto e um botão.

Quando o botão Criar Prêmio é clicado, ele:

  • Valida as informações do prêmio

  • Envia os dados de volta para o formulário chamador

  • Fecha o formulário

Tim explica que este formulário é essencialmente o mesmo que Criar Equipe, mas com menos componentes.

Lógica do Painel do Torneio

Tim explica o formulário Painel do Torneio como simples, mas essencial.

Ele lista torneios existentes. O botão Carregar Torneio abre o Visualizador de Torneio para o torneio selecionado, e o botão Criar Torneio abre o formulário Criar Torneio.

Tim observa que quando um torneio é criado, ele deve ser adicionado à lista suspensa, para que o usuário possa carregá-lo imediatamente. Esta lógica é um exemplo básico de acesso a dados e atualização em tempo real dentro de um aplicativo.

Lógica do Visualizador de Torneio

Tim descreve o Visualizador de Torneio como o formulário mais complexo porque contém a maior parte da lógica.

Nome do Torneio

Tim explica que o nome do torneio é atualizado quando o formulário é carregado. O formulário recebe um objeto de torneio e exibe o nome.

Lista Suspensa de Rodadas

Tim explica que esta lista suspensa é calculada, não carregada de um banco de dados. Ela examina a lista de rodadas e determina quantas existem. Se um torneio tiver quatro rodadas, a lista suspensa deve exibir Rodada 1 até Rodada 4.

Caixa de Seleção Apenas Jogos Não Jogados

Tim diz que se a caixa de seleção estiver marcada (padrão), a lista de jogos é filtrada para mostrar apenas jogos não jogados. Se desmarcada, todos os jogos aparecem.

Seção de Pontuação de Jogos

Tim explica que selecionar um jogo atualiza a seção à direita com nomes das equipes e pontuações. O botão Pontuar permite ao usuário atualizar pontuações e finalizar o jogo.

Acionando a Próxima Rodada

Tim explica que quando o último jogo não jogado em uma rodada é pontuado, a próxima rodada deve começar. Se for o jogo final do campeonato, o torneio termina e os prêmios são atribuídos. Tim também observa que o sistema envia emails aos participantes quando eles estão programados para jogar e quando os resultados estão disponíveis.

Regras de Edição de Pontuação

Tim pergunta se as pontuações podem ser atualizadas depois de serem definidas. Ele conclui que sim, mas apenas enquanto a rodada atual ainda estiver ativa. Se as pontuações forem alteradas após o início da próxima rodada, isso pode causar grandes problemas, pois as equipes podem jogar contra adversários errados.

Portanto, Tim diz que o botão Pontuar precisa de lógica para garantir que a pontuação só possa ser alterada na rodada atual.

Qual o próximo passo?

Tim reconhece que alguma lógica ainda precisa ser planejada, como:

  • Acesso e armazenamento de dados

  • Manipulação de diferentes fontes de dados

  • Lógica de email

  • Acionamento de jogos

Ele diz que estas são melhores planejadas dentro do código, então a equipe irá abordá-las quando começar a codificação. Este é um exemplo de integridade de negócios no desenvolvimento de software — não excessivamente planejar, mas construir e adaptar enquanto você implementa.

Conclusão: Planejamento Antes da Codificação

Tim conclui seu vídeo afirmando que a fase de planejamento está completa:

  • Design dos dados é finalizado

  • Layout da UI está desenhado

  • Lógica por trás de cada formulário está planejada

O próximo passo é traduzir isto em código. Na próxima aula, Tim irá criar a biblioteca de classes e começar a implementar o design dos dados na aplicação real.

Hero Worlddot related to Planejamento Lógico do App — Um Olhar Mais Profundo na Abordagem de Tim Corey
Hero Affiliate related to Planejamento Lógico do App — Um Olhar Mais Profundo na Abordagem de Tim Corey

Ganhe mais compartilhando o que você ama.

Você cria conteúdo para desenvolvedores que trabalham com .NET, C#, Java, Python ou Node.js? Transforme sua expertise em renda extra!

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim