Visão geral dos aplicativos de dados do .NET Framework de N camadas
Observação
Os conjuntos de dados e as classes relacionadas são tecnologias herdadas do .NET Framework do início dos anos 2000 que permitem que os aplicativos trabalhem com dados na memória enquanto os aplicativos estão desconectados do banco de dados. As tecnologias são bastante úteis em aplicativos que permitem que os usuários modifiquem dados e persistam as alterações no banco de dados. Embora os conjuntos de dados tenham se mostrado uma tecnologia muito bem-sucedida, é recomendado que os novos aplicativos .NET usem o Entity Framework Core. O Entity Framework proporciona uma forma mais natural de trabalhar com dados tabulares como modelos de objeto e conta com uma interface de programação mais simples.
Aplicativos de dados de N camadas são aplicativos de dados separados em várias camadas. Também conhecidos como "aplicativos distribuídos" e "aplicativos multicamadas", os aplicativos de N camada separam o processamento em camadas discretas distribuídas entre o cliente e o servidor. Ao desenvolver aplicativos que acessam dados, você deve fazer uma separação clara entre as várias camadas que compõem o aplicativo.
Um aplicativo de n camadas típico inclui uma camada de apresentação, uma camada intermediária e uma camada de dados. A maneira mais fácil de separar as várias camadas em um aplicativo de N camadas é criar projetos discretos para cada camada que você deseja incluir em seu aplicativo. Por exemplo, a camada de apresentação pode ser um aplicativo do Windows Forms, enquanto que a lógica de acesso aos dados pode ser uma biblioteca de classes localizada na camada intermediária. Além disso, a camada de apresentação pode se comunicar com a lógica de acesso aos dados na camada intermediária por meio de um serviço como um serviço Web. Dividir componentes do aplicativo em camadas separadas aumenta a facilidade de manutenção e a escalabilidade do aplicativo. Isso é feito pela adoção com mais facilidade de novas tecnologias que podem ser aplicadas a uma única camada, sem a necessidade de reprojetar toda a solução. Além disso, os aplicativos de N camadas normalmente armazenam informações confidenciais na camada intermediária, o que mantém o isolamento da camada de apresentação.
O Visual Studio contém vários recursos para ajudar os desenvolvedores a criar aplicativos de N camadas:
O conjunto de dados fornece uma propriedade Projeto de Conjunto de Dados que permite separar conjunto de dados (camada de entidade de dados) e TableAdapters (camada de acesso a dados) em projetos discretos.
As ferramentas do LINQ to SQL no Visual Studio fornecem configurações para gerar as classes DataContext e data em namespaces separados. Isso permite a separação lógica das camadas de entidade de dados e acesso a dados.
O LINQ to SQL fornece o método Attach que permite reunir o DataContext de diferentes camadas em um aplicativo. Para obter mais informações, consulte aplicativos remotos e de N Camadas com o LINQ to SQL.
Camada de apresentação
A camada de apresentação é a camada na qual os usuários interagem com um aplicativo. Geralmente, ela também contém lógica adicional do aplicativo. Os componentes típicos da camada de apresentação incluem o seguinte:
Componentes da associação de dados, como BindingSource e BindingNavigator.
Representações de objeto de dados, como classes de entidade do LINQ to SQL para uso na camada de apresentação.
A camada de apresentação normalmente acessa a camada intermediária usando uma referência de serviço (por exemplo, um aplicativo de Serviços do Windows Communication Foundation e WCF Data Services no Visual Studio). A camada de apresentação não acessa diretamente a camada de dados. A camada de apresentação se comunica com a camada de dados por meio do componente de acesso a dados na camada intermediária.
Camada intermediária
A camada intermediária é a camada que a camada de apresentação e a camada de dados usam para se comunicar. Os componentes típicos da camada intermediária incluem o seguinte:
Lógica de negócios, como regras de negócios e validação de dados.
Componentes e lógica de acesso a dados, como o seguinte:
Representações de objeto de dados, como classes de entidade do LINQ to SQL.
Serviços de aplicativos comuns, como autenticação, autorização e personalização.
A ilustração a seguir mostra recursos e tecnologias que estão disponíveis no Visual Studio e como eles podem se ajustar à camada intermediária de um aplicativo de N camadas.
Camada intermediária
A camada intermediária normalmente se conecta à camada de dados usando uma conexão de dados. Geralmente, essa conexão de dados é armazenada no componente de acesso a dados.
Camada de dados
A camada de dados é basicamente o servidor que armazena os dados de um aplicativo (por exemplo, um servidor que executa o SQL Server).
A ilustração a seguir mostra recursos e tecnologias que estão disponíveis no Visual Studio e como eles podem se ajustar à camada de dados de um aplicativo de N camadas.
Camada de dados
A camada de dados não pode ser acessada diretamente do cliente na camada de apresentação. Em vez disso, o componente de acesso a dados na camada intermediária é usado para comunicação entre as camadas de apresentação e de dados.
Ajuda para o desenvolvimento de N camadas
Os tópicos a seguir trazem informações sobre como trabalhar com aplicativos de N camadas:
Conjuntos de dados e TableAdapters separados m diferentes projetos
Passo a passo: criando um aplicativo de dados de N camadas
Aplicativos de N camadas e remotos com o LINQ to SQL