Você está na página 1de 26

APLICAÇÕES DE LINGUAGEM DE

PROGRAMAÇÃO ORIENTADA A OBJETOS


Aplicação Web do ASP.NET Core MVC com SQLite (parte 1)
Prof. Gustavo Avellar
gustavo.avellar@docente.unip.br

2º Semestre/2023
Araraquara-SP
ASP.NET Core

O ASP.NET é uma estrutura de desenvolvimento de software para


criar aplicações Web e serviços que são baseados na plataforma
.NET e no C#

O ASP.NET Core é uma versão melhorada e de código aberto do


ASP.NET, que executa no macOS, Linux e Windows. O ASP.NET
Core foi lançado pela primeira vez em 2016 e é um novo design de
versões anteriores somente para Windows do ASP.NET
ASP.NET Core

O desempenho é um foco chave do ASP.NET Core. Ele é mais


rápido do que outras estruturas populares da Web
ASP.NET Core

ASP.NET Core foi projetado para permitir que componentes, APIs,


compiladores e linguagens evoluam rapidamente, enquanto ainda
fornece uma plataforma estável e com suporte para manter as
aplicações em execução
ASP.NET Core

Assim como o restante do .NET, o ASP.NET tem código aberto e


está disponível no GitHub

O .NET já recebeu mais de 100,000 contribuições diferentes e


aproximadamente 3,700 empresas já contribuíram com a sua
evolução
MVC

Criado por Trygve Reenskaug (Xerox) em 1979 (usando a LPOO


Smalltalk), o MVC é um padrão de design de software que divide o
código da aplicação em três tipos de camadas:

M – model (modelo)
V – view (visualização)
C – controller (controlador)
MVC ARPANET
Xerox Parc
Alto Personal Computer
Piratas do Vale do Silício

Criado por Trygve Reenskaug (Xerox) em 1979 (usando a LPOO


Smalltalk), o MVC é um padrão de design de software que divide o
código da aplicação em três tipos de camadas:

M – model (modelo)
V – view (visualização)
C – controller (controlador)
MVC
A proposta de Trygve Reenskaug era criar um padrão de design de
software que separasse o projeto em camadas, reduzindo a
dependência entre cada parte do software.

Assim, as funções do software também são divididas:


- Manipulação dos dados (camadas model)
- Interação do usuário (camadas view)
- Gerenciamento de ações (camadas controller)
MVC
O modelo (Model) gerencia elementos de dados, responde a
requisições sobre os seu dados e estados e também responde a
instruções para realizar mudanças de dados e estados. O modelo
sabe o que a aplicação quer fazer e é a principal estrutura
computacional do padrão MVC, pois é ele quem modela o
problema a ser resolvido
MVC

A visão (View) gerencia a interface gráfica e é responsável por


apresentar as informações para o usuário através de uma
combinação de gráficos e textos. A visão não sabe nada sobre o
que a aplicação está atualmente fazendo, pois tudo que ela
realmente faz é receber instruções do controle e informações do
modelo e então as exibir. A visão também se comunica de volta
com o modelo e com o controlador para reportar o seu estado
MVC

O controlador (Controller) interpreta as entradas do mouse ou do


teclado enviadas pelo usuário e mapeia essas ações do usuário
em comandos que são enviados para o modelo (Model) e/ou para
a janela de visualização (View) para efetuar a alteração apropriada
MVC
MVC
MVC
Entity Framework Core
O Entity Framework Core (EF Core) é uma das principais
bibliotecas para acesso a dados no ecossistema .NET. Ele fornece
uma maneira fácil e eficiente de acessar e manipular dados na
aplicação, sem se preocupar com a complexidade do banco de
dados
Entity Framework Core

O EF Core é uma versão leve, escalável, de software livre e


multiplataforma de tecnologia de acesso a dados. O EF Core serve
como um ORM (object-relational mapping ou mapeador relacional
de objeto) que permite que os desenvolvedores do .NET trabalhem
com um banco de dados usando objetos, eliminando a
necessidade da maior parte do código de acesso a dados
Entity Framework Core

O EF Core é uma biblioteca ORM que implementa a camada de


acesso a dados baseada em objetos relacionais. Ele permite
trabalhar com dados do banco de dados como objetos da
aplicação, sem precisar escrever código SQL para acessá-los
Entity Framework Core

Isso significa que é possível escrever o código definindo as classes


e seus relacionamentos e o EF Core se encarrega de traduzir os
objetos delas em instruções SQL para o banco de dados

Além disso, com Migrations é possível criar e modificar a estrutura


de bancos de dados por meio do C#
Entity Framework Core
Entity Framework Core
O EF Core oferece suporte a vários bancos de dados relacionais e
não relacionais, incluindo SQL Server, MySQL, PostgreSQL, Cosmos
DB, SQLite, etc

Para dominar o EF Core é fundamental entender LINQ (Language


Integrated Query)

De funcionamento parecido, existe a biblioteca Dapper, que


também oferece ORM
Entity Framework Core

Por outro lado, visto anteriormente, o ADO.NET, que é um conjunto


de classes que providenciam serviços de acesso e manipulação
de dados para aplicações .NET, fornece um conjunto rico de
componentes para criar aplicações distribuídos e de
compartilhamento de dados.

O ADO.NET segue sendo bastante utilizado, mas em cenários


onde o maior controle e desempenho são necessários
Entity Framework Core

EF Core Dapper ADO.NET

Alto nível de abstração Baixo nível de abstração


Usando Scaffolding no ASP.NET Core

O termo Scaffolding vem emprestado da construção civil, onde um


item Scaffolded é um item pré-moldado. A técnica de conversão
do item pré-moldado em um elemento de um projeto ASP.NET
MVC é chamada de Scaffolding

O objetivo do Scaffolding é ser um facilitador para o


desenvolvimento de software, gerando de forma rápida e simples
determinadas estruturas que se repetem muitas vezes no projeto
Usando Scaffolding no ASP.NET Core

É um recurso do ASP.NET Core MVC que gera código-fonte


automaticamente, como para as operações CRUD (Create, Read,
Update e Delete) de um determinado modelo de dados existente
Usando Scaffolding no ASP.NET Core

Scaffolding ajuda a acelerar o desenvolvimento de aplicações da


Web ao criar rapidamente as partes comuns da aplicação, como
controladores, visualizações e modelos, para interagir com o
banco de dados
APLICAÇÕES DE LINGUAGEM DE
PROGRAMAÇÃO ORIENTADA A OBJETOS
Aplicação Web do ASP.NET Core MVC com SQLite (parte 1)
Prof. Gustavo Avellar
gustavo.avellar@docente.unip.br

2º Semestre/2023
Araraquara-SP

Você também pode gostar