C# e Visual Studio Desenvolvimento de aplicações desktop
Everton Coimbra de AraújoIntrodução
Como sempre digo na abertura de todos os meus livros, ensinar e aprender são tarefas que andam juntas e, para que seja alcançado o objetivo em cada uma delas, é necessário muita dedicação e estudo constante. Não há mágica no aprendizado, mas é preciso determinação por parte daquele que quer aprender.
Este livro apresenta um pouco do que o .NET pode oferecer em aplicações voltadas ao desktop, fazendo uso da linguagem C# e do Visual Studio como ambiente (IDE – Integrated Development Environment) para o desenvolvimento. Cada recurso apresentado aqui é conceituado e exposto por meio de exemplos práticos, os quais são trazidos com o objetivo de aguçar a sua curiosidade.
Certamente, este livro pode ser usado como uma grande ferramenta em disciplinas que trabalham o desenvolvimento para ambientes gráficos e integrados (IDE), quer seja por acadêmicos ou professores. Isso porque ele é o resultado da experiência que tenho em ministrar aulas dessa disciplina, então trago para cá anseios e dúvidas dos alunos que estudam comigo.
O objetivo deste trabalho é torná-lo uma ferramenta presente e constante no ensino e aprendizado no desenvolvimento de aplicações para desktop, fazendo uso de C#, mais precisamente e de forma direcionada às disciplinas ministradas em cursos que envolvam informática e computação, como Sistemas de Informação, Ciência da Computação, Processamento de Dados, e Análise e Desenvolvimento de Sistemas. Para isso, neste livro trago definições e observações referentes às partes que compõem o desenvolvimento de aplicações desktop e da linguagem C#. Todo o desenvolvimento é realizado com auxílio do Visual Studio 2019.
Talvez surjam dúvidas em relação às versões do IDE, mas o que abordamos aqui é o básico para você se iniciar na programação para ambientes visuais. Aliás, não será obstáculo algum caso você tenha acesso a uma versão diferente (anterior ou superior) do que a trabalhada. Isso porque os conceitos básicos apresentados e necessários que você tenha estão disponíveis em todas as versões existentes.
O livro é todo desenvolvido em nove capítulos, todos com muita prática, e de uma conclusão dos tópicos vistos. Na sequência, são apresentados pequenos resumos do que é trabalhado em cada um destes capítulos.
Capítulo 1 – As primeiras implementações: estrutura sequencial
Os três primeiros capítulos deste livro aplicam as estruturas básicas que toda linguagem oferece: sequencial, condicional e de repetição. Dessa maneira, neste primeiro capítulo são apresentados problemas que podem ser resolvidos fazendo uso de uma estrutura sequencial. Durante as implementações propostas, princípios e fundamentos relacionados à plataforma .NET, à linguagem C# e ao Visual Studio também são trabalhados e apresentados. Todos as soluções serão baseadas em uma interface gráfica com o usuário, nomeada na plataforma como Windows Forms Application.
Capítulo 2 – Evoluindo na complexidade: estrutura condicional
Dando sequência, este capítulo apresenta novos problemas que podem ser resolvidos por meio da aplicação de estruturas condicionais, também conhecidas como estruturas de seleção. Para essas implementações, busca-se apresentar novos recursos para aplicações Windows Forms, assim como uma evolução na linguagem C#, com novos recursos e técnicas. Um desses recursos e técnicas refere-se à validação de valores informados pelo usuário, nos controles que permitem interação.
Capítulo 3 – Resolvendo problemas mais complexos: estrutura de repetição
Existem situações nas quais um problema exige ou apresenta como resolução um conjunto de instruções que devem ser executadas por mais de uma vez. Para essas situações, é feito o uso de uma estrutura de repetição que, assim como a condicional, possui variações de sua implementação. Dessa maneira, este terceiro capítulo apresenta a última das três estruturas básicas para uma linguagem de programação, trazendo problemas que poderão ser resolvidos com o uso desse tipo de estrutura, usando suas variações. Novos controles e recursos também são apresentados, como a leitura e escrita de um arquivo texto, e controles para interação com conjuntos de dados. Também, a aplicação de Orientação a Objetos (OO) começa a ser mostrada neste capítulo.
Capítulo 4 – Vários projetos em uma solução: aplicando conceitos relacionados ao MVC e Orientação a Objetos
Nos capítulos iniciais, a preocupação foi no conhecimento dos recursos básicos para desenvolvimento de aplicações Windows Forms, da linguagem C# e do Visual Studio, em que os projetos criados eram independentes. Desta maneira, este capítulo apresenta recursos, conceitos e técnicas mais avançados, possibilitando a criação de uma solução com vários projetos, delegando responsabilidades a cada um deles e tornando a solução uma única aplicação. Nessa linha, é apresentado o MVC (Modelo-Visão-Controle ou Model-View-Controller), um modelo de desenvolvimento – que pode ser visto como um padrão – que permite que cada camada (no exemplo, cada camada refere-se a um projeto) realize especificamente o que é de sua responsabilidade. Com vistas à implementação de uma solução em MVC, técnicas relacionadas a Orientação a Objetos são apresentadas, assim como o uso de coleções (collections) e associação entre as classes.
Capítulo 5 – Acesso a dados por meio do ADO.NET
Até o quarto capítulo, os dados utilizados pela aplicação são obtidos e fornecidos no mesmo momento em que ela é executada, não havendo possibilidade de recuperar futuramente os dados informados em uma execução anterior. Uma exceção para essa situação se dá no capítulo Resolvendo problemas mais complexos: estruturas de repetição, onde é possível persistir os dados em um arquivo de textos e recuperá-los em qualquer execução futura da aplicação. Entretanto, normalmente a persistência de dados é realizada em uma base de dados, e o .NET oferece toda uma arquitetura para essa funcionalidade, que é o ADO.NET. Aqui, são apresentados recursos e ferramentas oferecidos pela plataforma e o Visual Studio, para a persistência e recuperação de dados em uma base de dados, possibilitando aplicar todo o conteúdo já apresentado até este capítulo. O banco de dados usado neste livro é o SQL Server Local.
Capítulo 6 – Utilizando DataSet tipado para acesso a base de dados
Com o conhecimento do ADO.NET, apresentado no Capítulo 5, no qual o acesso a dados é realizado por meio de classes da API e instruções SQL, é possível saber como a interação com o banco de dados ocorre. Este capítulo avança e apresenta que, para acessar uma base de dados, é feito uso de um recurso chamado de DataSet Tipado. O DataSet é introduzido, primeiramente, sem o uso de tabelas existentes um uma base de dados. Em seguida, são trabalhados recursos que buscam subsidiar uma agilidade no desenvolvimento, como a criação de um formulário que represente o CRUD (Create, Retrieve, Update and Delete), com operações de arrastar e soltar.
Capítulo 7 – Conhecendo a Language INtegrated Query e o Windows Presentation Foundation
Quando foi apresentado o ADO.NET, as consultas foram realizadas fazendo uso de instruções SQL, escritas como uma string. Depois, com a apresentação do Data Set Tipado, essas mesmas consultas foram transferidas para métodos, o que levou a uma aproximação à Orientação a Objetos. Este capítulo apresenta o Language INtegrated Query (LINQ) como ferramenta para realização dessas consultas, que podem ser realizadas em diversas fontes de dados, incluindo bases de dados. Com o LINQ, é possível fazer uso de objetos em sua sintaxe, permitindo uso de recursos do IDE, como o IntelliSense. Para aplicar o LINQ, também é feito uso do Windows Presentation Foundation (WPF), para implementação da interface gráfica com o usuário.
Capítulo 8 – Apresentando o Entity Framework Core como ferramenta para o Mapeamento Objeto Relacional
A persistência de dados, apresentada em capítulos anteriores a este, é realizada por meio do ADO.NET, quer seja fazendo uso de instruções SQL ou de componentes que encapsulam estas instruções (como o DataSet Tipado). Com o Entity Framework Core (EF Core), é possível trabalhar diretamente com objetos, não se preocupando em como a aplicação se conectará ao banco e como os dados serão capturados ou persistidos. O uso desse framework possibilita ao programador abstrair e trabalhar sempre com objetos. Para a aplicação dos exemplos, o capítulo faz uso também do WPF para interação com o usuário, que traz uma implementação do CRUD.
Capítulo 9 – Collections
Durante a execução de exercícios nos capítulos anteriores a este, utilizamos coleções como mecanismos de armazenamento de objetos durante o tempo de execução da aplicação, mas não entramos em detalhes. Este capítulo trabalha 4 tipos específicos de coleções, duas para a categoria de não genéricas e duas para essa categoria. O capítulo não explora todos os recursos de cada coleção, mas viabilizará a você um estudo aprofundado em relação aos tipos de coleções que podem ter um aprofundamento maior.
Capítulo 10 – Os estudos não param por aqui
Com este capítulo, concluímos este livro destacando todos os assuntos que vimos até aqui, junto de estímulos para que você continue sua jornada de aprendizagem e aplicação do C#.
Prefácio
O professor Everton é escritor de obras relacionadas à programação há muito tempo e possui notável experiência nesta área, o que contribui para que este livro seja a fonte ideal para pessoas que queiram se aventurar no mundo da programação, seja como iniciantes ou até mesmo para aqueles que buscam um referencial para consolidação do conhecimento.
Tivemos a dádiva em compartilhar nosso curso de graduação com o Everton e formar um grupo de amigos para a vida toda. O Everton já era um profissional experimentado na área, sendo respeitado por professores e colegas. Estava lá muito mais para ensinar do que para aprender. Tornou-se inspiração e exemplo de dedicação, disciplina e profissionalismo. Logo começou a ministrar cursos paralelos em parceria com a faculdade, pois sua experiência, técnica e didática se mostraram muito eficientes no aprendizado.
Hoje, com a impressionante diversidade de novas tecnologias no mercado, é com grande orgulho e satisfação que presenciamos mais esta obra. Com a qualidade e objetividade de sempre, Everton continua inspirando pessoas e auxiliando no desafio de iniciar ou manter-se atualizado e contemporâneo na área de programação.
A obra trata a linguagem C# de uma forma evolutiva e muito didática, com conceitos básicos e necessários para leitores iniciantes possam acompanhar o conteúdo de maneira tranquila. Também é uma ótima fonte para programadores com certa experiência, explorando tópicos específicos como acesso a banco de dados ou até mesmo conteúdo sobre a ferramenta Visual Studio. A obra traz conceitos sobre os paradigmas Estruturado e Orientado a Objetos com uma boa introdução ao padrão MVC, essencial para quem deseja desenvolver aplicações, comerciais ou não.
Os projetos são apresentados de maneira muito detalhada, sempre com o passo a passo e as explicações, o que possibilita o foco maior na aprendizagem da linguagem de programação. Todos os exemplos abordados na obra buscam a aplicabilidade e resolução para interfaces gráfica. Na plataforma .NET, as aplicações visuais para o ambiente Desktop são conhecidas como Aplicações de Formulários Windows, conhecidos como Janelas (Windows) e você as verá aqui.
A você, leitor ou leitora que apreciará esta obra, tenha certeza de que ela foi feita à base de muita dedicação e esforço, com a preocupação de transmitir o melhor conteúdo da forma mais simples e didática possível, que facilitará bastante sua leitura e a fixação dos conceitos, pois sempre é este o objetivo do professor Everton. Agradecemos a nosso amigo, pela oportunidade de redigir essas poucas, mas sinceras, palavras.
Itamar Pena Nieradka, Moisés Meireles, Nilton Figueira, Rogério Silvestre, Rudimar Lorenzi e Zilon Quadros
Sumário
- 1 As primeiras implementações: estrutura sequencial
- 1.1 Troca de valores
- 1.2 Inserindo imagens em controles
- 1.3 Obtendo o resto de uma divisão
- 1.4 Registrando o gasto em um restaurante
- 1.5 Conclusão
- 2 Evoluindo na complexidade: estrutura condicional
- 2.1 Tomando uma decisão com base em uma idade identificada
- 2.2 Identificando o peso ideal para uma pessoa
- 2.3 Identificando um reajuste salarial
- 2.4 Conclusão
- 3 Resolvendo problemas mais complexos: estruturas de repetição
- 3.1 Registro do consumo de energia em um condomínio
- 3.2 Leitura de arquivo texto para cálculo de reajuste em folha de pagamento
- 3.3 Informação de dados para geração de arquivo texto
- 3.4 Conclusão
- 4 Vários projetos em uma solução: aplicando alguns conceitos relacionados ao MVC e à Orientação a Objetos
- 4.1 Objeto
- 4.2 Classe
- 4.3 Abstração
- 4.4 Implementando os conceitos apresentados
- 4.5 Associações entre objetos
- 4.6 Composição entre classes fazendo uso de Collections
- 4.7 Criação dos projetos e definição de dependência entre eles
- 4.8 Criando a camada de apresentação
- 4.9 Criando uma janela principal para a aplicação e menus para acesso aos formulários criados
- 4.10 Associando objetos na implementação da Nota de Entrada
- 4.11 Implementando a interação do usuário com o registro do Corpo da Nota de Compra
- 4.12 Implementando a interação do usuário com o registro dos produtos da Nota de Compra
- 4.13 Conclusão
- 5 Acesso a dados por meio do ADO.NET
- 5.1 Introdução ao ADO.NET
- 5.2 Criando a base de dados utilizando o Visual Studio
- 5.3 Realizando operações relacionadas ao CRUD em uma tabela de dados
- 5.4 Inserindo registros na tabela de fornecedores
- 5.5 Obtendo todos os fornecedores existentes na base de dados
- 5.6 Obtendo um fornecedor específico na base de dados
- 5.7 Removendo da tabela o fornecedor selecionado
- 5.8 Realizando alterações em um fornecedor já inserido
- 5.9 Implementando associações em tabelas de uma base de dados
- 5.10 Implementando a interface com o usuário para as associações
- 5.11 Conclusão
- 6 Utilizando DataSet Tipado para acesso à base de dados
- 6.1 Desenhando o formulário para a implementação de um exemplo de uso de DataSet e seus componentes
- 6.2 Implementando a criação, população e interação com o DataSet
- 6.3 DataSets Tipados
- 6.4 Atualizando a base de dados
- 6.5 Criando os DataSets Tipados no Visual Studio
- 6.6 Entendendo os componentes do DataSet Tipado
- 6.7 Criando um formulário que faz uso de um DataSet Tipado
- 6.8 Entendendo o comportamento do formulário em relação aos seus controles e ao DataSet
- 6.9 Criando um formulário utilizando dados de um relacionamento
- 6.10 Concluindo os formulários para a aplicação de compra e venda
- 6.11 Conclusão
- 7 Conhecendo a Language INtegrated Query e o Windows Presentation Foundation
- 7.1 Introdução ao Windows Presentation Foundation
- 7.2 Criando uma aplicação WPF
- 7.3 Introdução ao Language INtegrated Query
- 7.4 Preparando a aplicação para uma consulta LINQ
- 7.5 Implementando uma consulta LINQ
- 7.6 Conceitos básicos sobre consultas no contexto LINQ
- 7.7 Conceitos básicos sobre expressões de consultas
- 7.8 Sintaxe de consultas e de métodos no LINQ
- 7.9 Expressões Lambda (lambda expressions)
- 7.10 Conclusão
- 8 Apresentando o Entity Framework Core como ferramenta para Mapeamento Objeto Relacional
- 8.1 Começando com o Entity Framework Core
- 8.2 Criando um projeto para aplicação do Entity Framework
- 8.3 Habilitando a API do Entity Framework (NuGet Package to Entity) para o projeto
- 8.4 Criando o contexto com a base de dados
- 8.5 Lendo e escrevendo dados na base de dados por meio do EF
- 8.6 Implementando associações/ relacionamentos
- 8.7 Populando a base de dados com dados para teste
- 8.8 Criando a interface com o usuário para aplicar a associação
- 8.9 Aplicando Binding de objetos em um CRUD
- 8.10 Conclusão
- 9 Collections
- 9.1 Collections em C
- 9.2 Alguns exemplos de coleções não genéricas - ArrayList e Stack
- 9.3 Alguns exemplos de coleções genéricas - List e Dictionary
- 9.4 Conclusão
- 10 Os estudos não param por aqui
Dados do produto
- Número de páginas:
- 401
- ISBN:
- 978-65-86110-15-9
- Data publicação:
- 10/2015. Atualizado em 04/2020