IRONSOFTWAREHOME

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

C# App Start To Finish Lesson 05 - Logic Planning

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. Esse tipo de atualização em tempo real melhora a experiência do usuário e ajuda a manter os 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á sem um botão de excluir jogador, que deve ser adicionado para corresponder aos outros formulários e proporcionar uma experiência de 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.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.