Orientação a Objetos e Desenvolvimento em Camadas
Objeto de Transferência de Dados (DTO)
Objeto de Transferência de Dados – Um objeto que transporta dados entre processos de modo a reduzir o número de chamadas de métodos.
Vantagens da Orientação a Objetos
- Vantagens Diretas – maior facilidade para reutilização de código e, por consequência, do projeto; possibilidade do desenvolvedor trabalhar em um nível mais elevado de abstração; utilização de um único padrão conceitual durante todo o processo de criação de software; maior adequação à arquitetura cliente/servidor; maior facilidade de comunicação com os usuários e com outros profissionais de informática.
- Vantagens Reais – ciclo de vida mais longo para os sistemas; desenvolvimento acelerado de sistemas; possibilidade de se construir sistemas muito mais complexos pela incorporação de funções prontas; menor custo para desenvolvimento e manutenção de sistemas.
Desvantagens
- Complexidade no aprendizado para desenvolvedores de linguagens estruturadas.
- Maior uso de memória (heap), por exemplo, para aplicações móveis em JavaME.
- Maior esforço na modelagem de um sistema OO do que estruturado (porém menor esforço de codificação, sendo uma vantagem).
- Funcionalidades limitadas por interface, quando estas estão incompletas (problemas na modelagem).
- Dependência de funcionalidades já implementadas em superclasses no caso da herança; implementações espalhadas em classes diferentes.
Desenvolvimento em Camadas
Uma aplicação desenvolvida utilizando o conceito de desenvolvimento em camadas é uma aplicação desenvolvida de forma a ter várias camadas lógicas. Um dos principais objetivos do desenvolvimento em camadas é separar a parte que é exibida para o usuário (telas de apresentação) da parte de cálculos e validações (regras de negócios), e ainda separar essas partes da fonte de dados.
As Três Camadas
- Camada de apresentação: interação entre usuário e software; exibe informações para o usuário; recebe dados do usuário.
- Camada de negócios: cálculos baseados em dados digitais; validação de informação; qual fonte de dados deve ser utilizada.
- Camada de dados: interação com as fontes de dados; procedimentos armazenados; armazenamento de dados.
Vantagens de Utilizar Três Camadas
- Organização: a aplicação fica melhor organizada.
- Facilidade: facilita o desenvolvimento de aplicações.
- Reusabilidade: evita a duplicação de código (antes, toda regra de negócio era embutida na tela de apresentação – em cada tela tinha que ser refeita a regra de negócio).
- Flexibilidade: várias camadas de aplicação (Web e Desktop) podem utilizar a mesma camada de negócios.
Detalhamento das Três Camadas
Camada de Apresentação
É nesta camada que são implementadas as aplicações que permitem a interação entre o usuário e o software. Estas aplicações podem ser um website, uma aplicação desktop ou, ainda, uma aplicação de console.
Camada de Negócios
É nesta camada que são implementados os projetos de negócios e de objetos de transferência.
- Negócios: é o projeto onde são implementados os métodos de consulta, inserção, alteração, exclusão e outros métodos relacionados à parte de negócios.
- Objetos de transferência: é o projeto onde são implementados os objetos que trafegam entre a camada de apresentação e a camada de negócios.
As Três Camadas de Dados
É nesta camada que são implementados os projetos de acesso a dados. O projeto de acesso a dados é responsável pela interação com a fonte de dados, ou seja, é neste projeto que é aberta (e fechada) a conexão com o banco de dados. Ainda, é nesta camada que as operações solicitadas pela camada de negócios são persistidas no banco de dados.