Entity Framework e WPF: Crie uma aplicação CRUD aplicando o conceito multicamadas
O artigo explica os conceitos básicos da tecnologia Entity Framework, utilizada para realizar o acesso a dados da aplicação, aplicando o conceito de mapeamento objeto relacional. Além disso, será possível entende o uso do WPF(Windows Presentation Foundation), utilizado para a criação de interfaces ricas para Windows.
Atenção: esse artigo tem um vídeo complementar. Clique e assista!
O artigo explica os conceitos básicos da
tecnologia Entity Framework, utilizada para realizar o acesso a dados da
aplicação, aplicando o conceito de mapeamento objeto relacional. Além disso,
será possível entende o uso do WPF(Windows Presentation Foundation), utilizado
para a criação de interfaces ricas para Windows. Em que situação o tema é útil Neste artigo será utilizado o conceito
de separação de camadas, onde a ideia básica é que você possa desenvolver uma
aplicação para “N” banco de dados. Além disso, utilizando a metodologia deste
artigo, será possível criar uma aplicação e utilizar a mesma, para ASP.NET e
Windows Forms, sem a necessidade de recriar as regras de negócios e o acesso a
dados. Entity Framework e WPF – CRUD em camadas com Entity Framework. O WPF(Windows Presentation
Foundation) é uma tecnologia utilizada para criar interfaces ricas Windows,
obtendo todo o ganho visual através dos componentes gráficos e possibilitando
uma experiência rica do usuário com a aplicação. O Entity Framework é uma tecnologia
que auxilia no desenvolvimento do acesso a dados da aplicação, utilizando o
conceito ORM(Object-relational mapping), onde você basicamente cria um espelho
de suas tabelas, gerando classes que servem como entidades. Aplicando as duas
tecnologias, você tem a possibilidade de realizar a separação da UI(User
Interface) do acesso a dados da aplicação, assim aplicando o conceito
N-Camadas, onde o WPF se encaixa para a interface do usuário e o Entity
Framework para a camada de dados.
Existem muitas metodologias para desenvolvimento software. No momento que você prepara um projeto para o desenvolvimento de uma aplicação, a primeira questão a ser analisada é a estrutura do projeto, os frameworks e as metodologias que serão aplicadas. Uma boa prática de projeto que você pode utilizar em suas aplicações é o N-camadas. A ideia é dividir o projeto em várias partes, sendo que todas as partes do mesmo ficam independente uma das outras. Utilizando esta metodologia, você tem a possibilidade de dividir a aplicação em partes, além de permitir que as melhorias de software (implementação de novos recursos, por exemplo), não venham a interferir em todo projeto, melhorando a manutenção do software, possibilitando melhorar o trabalho em equipe, onde cada desenvolvedor vai possuir uma parte especifica do projeto para desenvolver.
A forma mais comum utilizada no conceito N-camadas, é a de 3 camadas (3-tier), conforme mostra a Figura 1, muito utilizada em aplicações web. Geralmente neste modelo de aplicações, existe uma camada para a apresentação ou interface com usuário (Presentation), uma camada para a lógica de negócio ou regras de negócio (Business) e uma camada para os dados (Data). Este conceito é bastante difundido atualmente, sendo cada uma destas camadas alocadas em um servidor diferente para tornarem-se independentes. Um exemplo clássico é pensar em lojas populares, onde existem centenas de filiais e geralmente uma única matriz. Se nessas lojas as aplicações fossem desenvolvidas utilizando o conceito N-Camadas, não seria necessário criar uma aplicação Client e outra Server. Neste caso, somente seria desenvolvido um único projeto, e neste, haveria a separação de camadas, seguindo os pontos citados anteriormente. Quando a aplicação fosse distribuída, você simplesmente iria selecionar que as UI, seriam alocadas em máquinas Client, onde se aplicado à analogia de lojas populares, seriam aquelas que servem para consultas de preços e realização de pedidos. Na Matriz, poderia ser concentrado a UI, BLL (Business Logic Layer) e DAL(Data Access Layer).
Abaixo segue uma breve descrição de cada camada.
Utilizando este conceito de camadas, você também tem a possibilidade de criar uma aplicação com “N” interfaces (Desktop, Mobile e Web), um tema para um futuro artigo.
Nota do DevMan
De uma forma prática, quando citado aplicações Client/Server é muito comum passar a ideia de que a aplicação servidora é aquela onde fica o banco de dados e geralmente regras de negocio da aplicação. Diferente do Client, que serve apenas para consultas e realização de algumas operações.
Figura 1. Desenvolvimento em 3 Camadas
Nota do DevMan
Um programa de aplicação em n-camadas é um aplicativo desenvolvido de forma a ter várias camadas lógicas. Cada camada é autocontida o suficiente, de forma que, a aplicação pode ser dividida em vários computadores em uma rede distribuída.
CRUD – Create, Read, Update e Delete
Esta sigla é utilizada quando você deseja referenciar os principais métodos de acesso a dados em uma aplicação.
Os métodos CRUD estão presentes em todas as aplicações que fazem uso de banco de dados (ao menos um deles). São eles que permitem que as informações alimentadas pelo usuário possam ser gravadas no banco de dados e posteriormente atualizadas, lidas e até excluídas, quando necessário.
No .NET Framework antes da versão 3.5, os métodos CRUD eram muito utilizados com o auxilio do ADO .NET, tanto na utilização via código, como na utilização de DataSets tipados, onde sempre era necessário utilizar comandos SQL. Uma das grandes problemáticas deste modelo é a deficiência que o .NET tem de gerenciar este código SQL.
Na versão 3.5 do .NET Framework, foi adicionado suporte ao LINQ (Language Integrated Query), desta forma, os desenvolvedores .NET dispõem de mais uma forma de implementação CRUD, agora utilizando uma sintaxe mais próxima a realidade orientada a objetos, com o auxílio do Entity Framework.
Nota do DevMan
Language Integrated Query (LINQ) é uma tecnologia do .NET Framework que adiciona funcionalidades de consulta em algumas linguagens de programação .NET. O LINQ corresponde a uma sintaxe unificada, inicialmente incorporada às linguagens C# e Visual Basic, para consultas em fontes de dados.
Entity Framework
Uma das maiores reclamações de desenvolvedores .NET, era por algum framework que lhes auxilia-se na persistência dos dados de uma aplicação, sem que houvesse a necessidade de trabalhar diretamente com banco de dados, reduzindo a impedância entre a orientação a objetos e os bancos de dados relacionais."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo