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!

Tim Corey
48m 03s
Neste artigo, vamos dar uma olhada mais profunda no desenvolvimento de aplicativos C# através da "C# App Start To Finish Lesson 12 – Create Team Form Part 1" de Tim Corey. Tim nos guia através do processo de construção de um formulário do mundo real passo a passo, mostrando como dividir tarefas complexas de UI em pedaços menores e gerenciáveis. Ao seguir sua abordagem, você terá uma compreensão mais clara de como projetar e implementar aplicativos Windows Forms funcionais usando padrões limpos e estratégias de desenvolvimento práticas.
Tim começa enfatizando uma mentalidade chave para os desenvolvedores: não se deixe sobrecarregar pela complexidade. Ele explica que o formulário pode parecer complicado à primeira vista, mas a solução é dividi-lo em pedaços menores. Tim diz que uma vez que você isole partes gerenciáveis, o problema se torna muito mais fácil de resolver. Essa filosofia é central para seu estilo de ensino e ajuda os iniciantes a manterem-se focados e confiantes durante o desenvolvimento.
Tim mostra o formulário "Create Team" e aponta que contém múltiplos componentes de UI, como botões, listas e tabelas. Ele observa que a seção Add New Member é essencialmente seu próprio formulário, similar ao formulário "Create Prize" construído em lições anteriores. Essa separação de funcionalidade é crucial porque permite que o desenvolvedor implemente uma seção de cada vez sem se perder na complexidade do formulário inteiro.
Tim explica que a seção "Add New Member" está tecnicamente adicionando uma pessoa, não um membro da equipe. No banco de dados, a tabela people contém campos como nome, sobrenome, e-mail e celular. Um membro da equipe é simplesmente representado por um ID de pessoa e um ID de equipe. Tim observa que, mesmo que tecnicamente esteja adicionando uma pessoa, faz sentido chamá-lo de "Add New Member" porque se encaixa no propósito do formulário.
Tim demonstra como criar o evento do botão para o botão "Create Member". Ele explica que você pode clicar duas vezes no botão ou usar o painel de propriedades para criar o evento. Ele também explica como as convenções de nomenclatura afetam os nomes dos eventos, e porque a nomeação consistente é importante para evitar confusão mais tarde. Tim enfatiza que a nomeação deve ser feita antes de criar eventos para evitar alterações manuais extras.
Tim delineia os passos que o evento do botão deve executar:
Validar o formulário
Criar um modelo Person
Salvar a pessoa no banco de dados ou arquivo de texto
Limpar o formulário
Ele compara esse fluxo de trabalho ao formulário "Create Prize" anterior, mostrando que o mesmo padrão se aplica. Tim explica que reutilizar padrões como esse é o que torna o desenvolvimento mais rápido e confiável.
Tim constrói um método de validação chamado ValidateForm() e explica por que a consistência de nomeação é importante. Ele sugere que a validação pode ser simples ou complexa, dependendo das necessidades. Por agora, Tim mantém básico: todos os quatro campos devem conter texto. Ele discute como a validação poderia ser aperfeiçoada mais tarde para verificar formatos de e-mail ou comprimento de números de telefone, mas para esta lição, a validação básica é suficiente para seguir em frente.
Tim mostra como criar um PersonModel a partir dos campos do formulário e então passá-lo para a conexão global para salvar. Ele explica que o processo é o mesmo do formulário do prêmio: validar → criar modelo → salvar → limpar. Tim enfatiza que reutilizar padrões como esse é o que torna o desenvolvimento mais rápido e confiável.
Tim introduz a atualização de interface necessária para o novo método CreatePerson(PersonModel model) na interface IDataConnection. Ele explica que adicionar esse método causará erros de compilação em todas as classes existentes que implementam a interface. Tim destaca que isso é uma coisa boa porque força você a implementar o novo método adequadamente em todos os conectores.
Tim muda para SQL para criar o procedimento armazenado spPeople_Insert. Ele mapeia cuidadosamente parâmetros como FirstName, LastName, EmailAddress e CellPhoneNumber, garantindo tipos de dados e tamanhos corretos. Tim explica que tipos precisos são importantes para prevenir erros e garantir a integridade dos dados.
Ele também explica como capturar o ID recém-criado usando SCOPE_IDENTITY() e passá-lo de volta para o aplicativo. Este passo é crucial para manter IDs consistentes no banco de dados e no modelo do aplicativo.
Tim testa o conector SQL executando o formulário e inserindo uma pessoa no banco de dados. Ele abre uma janela de consulta e verifica se os dados aparecem corretamente na tabela dbo.People. Tim observa que testar frequentemente é importante para identificar problemas cedo e confirmar que o sistema funciona conforme o esperado.
Tim então se move para implementar a versão do Conector de Texto da mesma funcionalidade. Ele explica que a estrutura do código é semelhante, mas agora utiliza arquivos CSV em vez de SQL. Ele cria uma nova constante de arquivo chamada PersonModels.csv e adiciona métodos para converter dados CSV em objetos PersonModel.
Tim também discute a importância do formato dos dados e como valores separados por vírgulas podem causar problemas se vírgulas existirem dentro dos campos de dados. Ele sugere usar separadores diferentes ou validar a entrada para evitar problemas.
Tim escreve o método ConvertToPersonModels() para analisar linhas CSV em objetos PersonModel. Ele mostra como dividir linhas, mapear valores para propriedades do modelo e adicioná-las a uma lista. Tim enfatiza que a ordem de mapeamento deve corresponder à ordem das colunas do CSV.
Tim cria o método SaveToPeopleFile() para salvar uma lista de objetos PersonModel de volta no arquivo CSV. Ele explica como construir linhas de string com valores separados por vírgulas e escrevê-los no arquivo. Tim destaca a importância de usar o caminho de arquivo correto para garantir que os dados sejam salvos corretamente.
Tim testa o conector de texto adicionando múltiplos membros e verificando se o arquivo CSV é atualizado corretamente. Ele confirma que os IDs incrementam corretamente e que todos os campos de dados são salvos. Tim observa que o processo agora está completo para esta parte do formulário.
Tim conclui a lição explicando que esta seção agora está completa. O próximo passo será conectar as listas de membros da equipe e finalizar a criação da equipe. Tim lembra aos alunos que este processo fica mais fácil com o tempo à medida que os padrões são repetidos e reutilizados, o que faz os desenvolvedores seniores parecerem rápidos—eles reutilizam padrões comprovados.
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy