Vous êtes sur la page 1sur 13

Apostila – Desenvolvimento em

C#
José Corrêa Viana

jcorrea@unipam.edu.br

jcorreavian@hotmail.com

twitter.com/rhuodox

facebook.com/ jcorreaviana

.
O que você encontrará aqui
O objetivo dessa apostila é auxiliar no processo de aprendizado e fixação dos
conteúdos vistos em sala de aula. Essa apostila abordará conceitos sobre:

 Conceitos sobre .NET;


 Desenvolvimento de uma aplicação completa para aplicação dos
conceitos de:
o Desenvolvimento ASP.NET;
o Sistemas de autenticação;
o Acesso a Banco de Dados com Entity Framework
o Desenvolvimento em camadas (MVC);
o Webservices;
o Internacionalização;
o Ajax;
o Geração de gráficos com a biblioteca Highcharts (JavaScript);
o Relatórios.

Qualquer dúvida e/ou sugestões para adicionar valor a este material, basta
entrar em contato nos meios de comunicação disponibilizados na primeira
página dessa apostila.
A PLATAFORMA .NET

Bem, vamos dar início aos nossos estudos! Inicialmente iremos ver algumas
definições sobre o ambiente que será utilizado e qual sua aplicabilidade. Como
essa disciplina é a versão II, obviamente os conceitos já foram vistos
anteriormente, portanto vamos nos recordar de algumas coisas.

A plataforma .NET é uma iniciativa da Microsoft para um único local de


desenvolvimento e também para que aplicações possam ser executadas. Onde
existir uma máquina com o framework .NET instalado, esse pode executar
códigos desenvolvidos com essa plataforma.

A ideia da utilização dessa plataforma é relacionada a dois componentes:

1. Existe um ambiente que executa as aplicações e realiza a tradução de


uma linguagem específica para uma linguagem intermediária. É como
se tivéssemos um intérprete nos ajudando nas traduções de inglês para
o português. Considerando que não se conhece inglês ele nos ajuda no
entendimento do que é necessário ser passado. Esse tradutor é
chamado de CLR (Common Language Runtime);
2. Além da CLR, temos ainda a interação desse primeiro ambiente com
outro, denominado FCL (Framework Class Libray). Essa biblioteca tem
algumas funcionalidades que comumente utilizamos em programação
com C# por exemplo. Esses são os famosos “System” que utilizamos nas
definições das classes. Exemplo:

Figura 1 - Exemplo de funionalidades da biblioteca FCL

Abaixo um exemplo apresentando algumas funcionalidades dessa biblioteca.


Figura 2 - biblioteca FCL (ou BCL)

Na figura acima existem muitas funções que geralmente são utilizadas e até
mesmo definidas automaticamente através do ambiente Microsoft. Segue um
link que apresenta as definições das principais classes que FCL contempla.

A CRL tem o papel de interpretar diversos tipos de linguagem em uma


linguagem comum para o compilador e que possa ser executada. O CRL pode
executar mais de 33 tipos de diferentes linguagens de programação, como por
exemplo (veja outras aqui):

 COBOL;  C++;
 C#;  Java;
 C++;  Pascal;
 COBOL;  Perl;
 C#;  Phyton.
SOBRE O PROJETO QUE SERÁ DESENVOLVIDO

Esse projeto terá como intuito registrar as atividades necessárias até a defesa
do TCC, registrando aluno, orientador, projeto e atividades relacionadas.
Essa aplicação será um modelo e não está sendo utilizada para fim comercial.
Fique à vontade para alterar esse modelo e até mesmo criar o seu a partir
dele. Nossa mente não tem limites. Aproveite isso! 

As vídeo-aulas serão divididas em partes. Teremos uma vídeo-aula para


explicação do projeto, outra para criação do padrão utilizado e mais 3 aulas
para cada função que será desenvolvida: Criar, editar e excluir dados. O
consultar será apresentado basicamente em todas essas três funções, assim
faremos o CRUD inicialmente com as tabelas descritivas. O DER do projeto
encontra-se na figura abaixo.

Iremos utilizar nesse modelo um padrão de apresentação de dados muito


utilizado devido a portabilidade das aplicações: o padrão responsivo.
Basicamente, a ideia dele é que a aplicação se ajuste à diferentes tamanhos
de telas e resoluções. Isso é bem coerente com o cenário dos dispositivos
pessoais, como Tablets, Smartphones, Laptops e PC’s que evoluem a cada dia
e que cada um possui uma particularidade em relação ao tamanho e resolução
de telas.
A PLATAFORMA ASP.NET

Essa plataforma tem como base os mesmos conceitos da plataforma .NET. A


sua aplicabilidade é voltada para desenvolvimento Web através da criação de
páginas dinâmicas. Essencialmente, para que uma aplicação ASP.NET seja
executada é necessária a integração da plataforma .NET com o IIS, que é o
que permite a criação de páginas dinâmicas.

O recurso mais utilizado para desenvolvimento de aplicações nessa


plataforma é o Visual Studio, por conter objetos e estruturas que facilitam a
vida do programador em questão de componentes e objetos customizáveis.

Portanto, como essa plataforma é aplicável graças a plataforma .NET todas


as definições da seção anterior são aplicáveis aqui também, como utilização
de bibliotecas FCL e CRL, permitindo a comunicação e a interpretação de
diversas linguagens em um único local de compilação.

Iremos agora fazer um projeto com o intuito de apresentar as funcionalidades


da IDE Visual Studio. A ideia do projeto será criar um site simples mas
utilizando os conceitos básicos da plataforma .NET com a utilização de
bibliotecas prontas como templates para CSS e JavaScript.

A primeira coisa é ter o Visual Studio instalado. Você pode fazer o download
da versão Express pelo site a Microsoft gratuitamente. Segue o link para
download do Visual Studio e para essa apostila iremos seguir a versão 2015.

Clique para ir à página da Microsoft para download do Visual Studio


PROGRAMAÇÃO EM CAMADAS

A arquitetura de software incorpora a disposição dos principais componentes


de arcabouço do sistema, como interfaces de comunicação com o usuário e
cooperação entre componentes internos do sistema. Melhores práticas de
projeto de arquitetura associadas à arquitetura lógica, framewoks,
subsistemas, classes entre outros, foram desenvolvidas utilizando o conceito
de padrões. O padrão Camadas organiza o esqueleto do sistema em camadas
principais, separando cada camada por objetivos específicos.

Uma camada é representada por um conjunto de componentes coesos e


reutilizáveis. As diferentes camadas podem estar no mesmo computador
(camadas lógicas) ou em diferentes computadores na rede (camadas físicas).
A arquitetura em camadas permite criar componentes reutilizáveis,
modularizados, e armazenar as camadas em diferentes computadores.

Arquitetura em três camadas

A arquitetura em três camadas (3-tier architecture) divide o código fonte em


três partes lógicas. A Figura 1 apresenta uma arquitetura dividida nas
camadas Presentation Layer, Business Logic Layer e Data Access Layer.
A Presentation Layer ou Camada de Apresentação fornece a interface para o
usuário interagir com a aplicação. Essa camada é o nível mais alto da
aplicação, sua principal função e tarefas e resultados em algo que o usuário
pode entender. Ela pode ser desenvolvida utilizando os componentes ASP
.NET MVC (interface para web), Windows Forms (interface para aplicações
“desktop”), Windows Console, entre outros.

A Business Logic Layer (BLL) ou Camada de Lógica de Negócios é responsável


pela implementação da lógica da aplicação. Nessa camada são implementadas
as regras de negócios da aplicação. Ela é responsável por coordenar a
aplicação, processos e realizar as decisões lógicas. Essa camada move e
processa os dados entre a camada de apresentação e a camada de dados.

A Data Access Layer (DAL) ou Camada de Aceso aos Dados é responsável por
expor os dados armazenados para a camada BLL. Nessa camada a informação
é armazenada e recuperada utilizando uma base de dados (relacional, XML,
entre outros). A informação recuperada é enviada para a camada BLL para
processamento, e em seguida a BLL envia para a camada de apresentação.

A camada de apresentação pode se comunicar com um ou mais componentes


na camada BLL. O componente da camada BLL pode ser comunicar com os
componentes da camada DAL ou também pode se comunicar com outros
componentes da camada BLL. É importante notar que estas camadas podem
possuir nomes diferentes, porém os comportamentos, independente da
nomenclatura, podem possuir responsabilidades semelhantes. É o que
acontecerá no nosso caso. A camada lógica em nosso caso é chamada de
Application, que nada mais é que a camada lógica ou BLL.

Uns dos objetivos da arquitetura em camadas é a reutilização das camadas


BLL e DAL. Assim, uma aplicação pode ter várias interfaces de interação com
o usuário (conforme a Figura 3). As camadas de apresentação podem
reutilizar toda a lógica implementada nas camadas inferiores, sem a
necessidade de rescrever todo o código novamente.
PADRÃO MVC

Então, o que é o padrão MVC?

Podemos fazer uma analogia do padrão MVC como se fosse um bolo com mais
de uma camada. Vamos tentar visualizar esse pedaço de bolo como nossa
aplicação. Suponha que você está vendo essa fatia por cima. A única coisa que
você verá será a parte superior, correto? Vamos pensar que essa parte
superior é o que nos faz comprar ou optar por um bolo. Essa seria a visão vou
a camada View no padrão MVC (O “V” está preposicionalmente em negrito
para apresentar qual a sigla é referente a definição).
A última camada é a parte final, de mais baixo nível em nosso bolo. No padrão
MVC, o nível mais baixo que temos é o nosso banco de dados. É nele que estão
as coisas mais importantes e valiosas: nossas informações. A última camada
do nosso bolo e do MVC é o Modelo de dados ou Model.

Para realizar a ligação entre o usuário e as informações, existem os


Controladores ou Controllers no MVC. Estes são responsáveis por transitar
as solicitações, validar regras de negócio e devolver os resultados para os
usuários. Isso é importante pois com o controlador evitamos o acesso direto a
nossa camada de visão e ainda reduzimos requisições ou ações que
provavelmente seriam feitas na camada de Modelo. Isso, em grandes
aplicações, pode reduzir o consumo de recursos através de validações ou
regras de negócio, não sendo necessário requisitar informações ao Modelo
(consulta de informações, por exemplo), reduzindo custo com execuções de
requisições.

Porém, o padrão MVC teve modificações durante sua vida. A definição


apresentada é a “inicial” por assim dizer. É importante destacar também que
o padrão MVC pode envolver três ou mais camadas. Isso vai depender da
arquitetura definida. A arquitetura é utilizada para aplicar regras de
informações sigilosas, validações complexas e divisão lógica de acordo com
cada software e/ou empresa que desenvolve sistemas. Pense que essas três
camadas são o ponto inicial para o padrão MVC.

Criação das Camadas no Visual Studio

Para iniciar a criação de uma aplicação no Visual Studio, primeiramente é


necessário criar um projeto. Um projeto contém arquivos de código fonte,
imagens e outros arquivos necessários para a compilação do projeto. Na
arquitetura em camadas, cada camada lógica será um projeto.

Para organizar os vários projetos (camadas), o Visual Studio permite criar


uma Solution (solução). A Solution é responsável por organizar os vários
projetos.

Para criar uma Solution, clique em “New Project”, selecione a opção “Other
Project Types” > “Visual Studio Solution” e forneça um nome para sua
Solution, e clique em Ok.
Como em minha versão do Visual Studio não possui a criação de uma Solução
em branco, optei por selecionar a criação de uma Class Library apenas para
que a solução seja criada e posteriormente esta biblioteca será excluída.
Lembre-se de verificar se no diretório físico também foi excluída a biblioteca.
Caso não tenha sido, faça a exclusão da mesma.

Para ver como as camadas foram criadas, dê uma olhadinha nesta vídeo
aula

Vous aimerez peut-être aussi