Aula1

23
C# - INTERMEDIÁRIO I By Mateus Alves.

description

Segue a apresentação das primeiras aulas do Curso C# Avançado

Transcript of Aula1

Page 1: Aula1

C# - INTERMEDIÁRIO I

By Mateus Alves.

Page 2: Aula1

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

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

O que veremos nesse curso:

• Tipo– Primitivos.– Estrutura de dados.

• Acesso a Dados em C#– SQLConnection/ Derivados.– SQLDataReader

– SQLCommand

Page 5: Aula1

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

O que veremos nesse curso:

• ReportView– Criar Relatórios– Criar Relatórios com sub relatórios.

• Projetos de Setup

Page 7: Aula1

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

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

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

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

Padrões de Projetos Singleton

• Vantagens:– Uma única instancia sempre.

• Desvantagens– Testes Unitários.

Page 12: Aula1

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

1° Passo

• Definirmos Plataforma– Windows– .Net Framework

– C#– SQLServer– Windows Formulários.

Page 14: Aula1

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

BD

Page 16: Aula1

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

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

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

6: Passo criação do TO

• LET’ GO

Page 20: Aula1

7. Passo: Criação do DAO

• Let´s GO.

Page 21: Aula1

8. Criando o Negocio.

• Let´s GO.

Page 22: Aula1

Finalizando nosso cadastro.

Page 23: Aula1

2. Criando cadastro de Produtos:

• Seguir os passos anteriores.