Aula1
-
Upload
mentrixmax -
Category
Documents
-
view
203 -
download
1
description
Transcript of Aula1
![Page 1: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/1.jpg)
C# - INTERMEDIÁRIO I
By Mateus Alves.
![Page 2: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/2.jpg)
O que não veremos nesse curso:
• Lógica de programação.– Vetores, Matriz, Registro
• Banco de Dados.– Detalhes de como funcionam bancos de dados, tipo
de dados, conceitos de banco de dados.
• Orientação a Objetos.– Conceitos.
• Perfumaria– Enfeites.
![Page 3: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/3.jpg)
O que veremos nesse curso:
• Padrões de Projetos.– Transfer Object(Value Object).– Data Access Object.– Singleton.– MVC
• Separação em Camadas– O porquê.
• Padronização de Código– O porquê.
• Abstração / Composição– O Que é?– O porquê.
![Page 4: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/4.jpg)
O que veremos nesse curso:
• Tipo– Primitivos.– Estrutura de dados.
• Acesso a Dados em C#– SQLConnection/ Derivados.– SQLDataReader
– SQLCommand
![Page 5: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/5.jpg)
O que veremos nesse curso:
• Formulários: – Criação de Formulários.– Customização de formulários.
• Controles Customizados.– Criar controles Customizados.
• Configurations– Configurando sua aplicação
![Page 6: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/6.jpg)
O que veremos nesse curso:
• ReportView– Criar Relatórios– Criar Relatórios com sub relatórios.
• Projetos de Setup
![Page 7: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/7.jpg)
Padrões de Projetos - TO– Transfer Object:
• Conceito:– Data transfer object (DTO), formerly known as value objects or VO, is a
design pattern used to transfer data between software application subsystems. DTOs are often used in conjunction with data access objects to retrieve data from a database.
• Vantagens:– Fornecer tipagem mais forte – É muito melhor usar BigDecimal do que
String na assinatura de um método. Ou Date em vez de três inteiros. – Fornecer métodos de manipulação do valor de forma coesa – Se o
objeto representa um numero porque não ter métodos plus() ou mutliply()? Este métodos se fornam aceleradores já que são usado inumeras vezes em vez de código que transforma o valor em algo manipulável e faz a operação e converte de volta. Repetir isso sempre que é necessário torna o codigo poluido e de dificil manutenção ( já para não dizer sensivel a erros)
• Desvantagens:– Concorrência.
![Page 8: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/8.jpg)
Padrões de Projeto- DAO
• DAO(DAL)- Data Access Object.– Conceito
• DAO (acrônimo de Data Access Object), é um padrão para persistência de dados que permite separar regras de negócio das regras de acesso a banco de dados. Todas as funcionalidades de bancos de dados, tais como obter as conexões, mapear objetos C# para tipos de dados SQL ou executar comandos SQL, devem ser feitas por classes de DAO.
![Page 9: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/9.jpg)
Padrões de Projeto- DAO
• Vantagens:– Padronização de projetos e de regras de
persistências, facilidade em utilização de outros meios de persistência.
– Desvantagem: seguir rigorosamente os padrões da interface estabelecida, aumento de classes do projeto
![Page 10: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/10.jpg)
Padrões de Projeto - Singleton
• Singleton:– Conceito: Singleton, é um padrão de projeto de software (do
inglês Design Pattern). Este padrão garante a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao seu objeto.
– Nota linguística: O termo vem do significado em inglês quando se resta apenas uma carta nas mãos, num jogo de baralho.
– Muitos projetos necessitam que algumas classes tenham apenas uma instância. Por exemplo, em uma aplicação que precisa de uma infraestrutura de log de dados, pode-se implementar uma classe no padrão singleton. Desta forma existe apenas um objeto responsável pelo log em toda a aplicação que é acessível unicamente através da classe singleton
![Page 11: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/11.jpg)
Padrões de Projetos Singleton
• Vantagens:– Uma única instancia sempre.
• Desvantagens– Testes Unitários.
![Page 12: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/12.jpg)
CHEGA DE ENRROLATION!!!
• Definindo nossa aplicação.– Cliente:
• Preciso de um sistema que faça cadastro de produtos, vendas, e que tenha relatórios de Estoque, e caixa detalhado, relatório de comição por usuários.
![Page 13: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/13.jpg)
1° Passo
• Definirmos Plataforma– Windows– .Net Framework
– C#– SQLServer– Windows Formulários.
![Page 14: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/14.jpg)
2. Passo
• Ferramentas que iremos utilizar.– Micro$oft SqlServer.– Micro$oft SqlServer Manegment Studio.– Micro$oft Visual Studio 2008 express Edition. – Micro$oft Report View.
• Definirmos o banco de dados:– Criaremos uma base segundo a figura abaixo.
![Page 15: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/15.jpg)
BD
![Page 16: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/16.jpg)
3. Passo: Criar formulário de Cadastro
– Criar um formulário para cadastro de usuário.– Criar um formulário para pesquisa de
usuários.
– Acesso ao Banco de dados.
![Page 17: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/17.jpg)
4. Passo:Conectar ao Banco de Dados.
• SqlConnection SQLConnection = new SqlConnection();• • try• {• SQLConnection.ConnectionString = ConnectionString;• SQLConnection.Open();• • // You can get the server version • // SQLConnection.ServerVersion• }• catch (Exception Ex)• {• // Try to close the connection• if (SQLConnection != null)• SQLConnection.Dispose();• • // Create a (useful) error message• string ErrorMessage = "A error occurred while trying to connect to the server.";• ErrorMessage += Environment.NewLine;• ErrorMessage += Environment.NewLine;• ErrorMessage += Ex.Message;• • // Show error message (this = the parent Form object)• MessageBox.Show(this, ErrorMessage, "Connection error", MessageBoxButtons.OK, MessageBoxIcon.Error);• • // Stop here• return;• }
![Page 18: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/18.jpg)
5. Passo: Persistência
• Copiar informações da Aplicação para o banco de dados e do banco de dados para aplicação.– Aqui iremos usar padrões de projetos visto no inicio
dessa aula:– Primeiro Padrão que iremos usar é o Singleton:
• Como?
• Por que?
![Page 19: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/19.jpg)
6: Passo criação do TO
• LET’ GO
![Page 20: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/20.jpg)
7. Passo: Criação do DAO
• Let´s GO.
![Page 21: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/21.jpg)
8. Criando o Negocio.
• Let´s GO.
![Page 22: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/22.jpg)
Finalizando nosso cadastro.
![Page 23: Aula1](https://reader033.fdocumentos.tips/reader033/viewer/2022052601/55963b461a28aba6738b4649/html5/thumbnails/23.jpg)
2. Criando cadastro de Produtos:
• Seguir os passos anteriores.