Buscar

PATTERN-DAO- N3 POO

Prévia do material em texto

PATTERN-DAO
 Programação Orientada a Objetos é um paradigma de programção qu veio para solucionar um dos maiore s problemas de qualquer programador: as mudanças durante o ciclo de vida do software
mas hoje vivemos a realidade em que a maioria dos bancos de dados das empresas são relacionais e não armazenam objetos.
Precisamos de algo que pegue esse objeto e envie ele para o banco de tal forma que não precisemos ficar montando sentenças SQL na aplicação como INSERT, SELECT, UPDATE ou DELETE. Neste momento, que quase todas as aplicações devem passar, surge a necessidade da criação de uma Camada de Persistência.
A arquitetura comumente usada hoje em dia é a arquitetura multicamadas. Temos então a interface, camada de negócios e banco de dados. A Camada de Persistência ficará então entre a camada de negócios e o bando de dados.
O DAO(Data Access Object) Pattern propõe que tenhamos todas essas operações CRUD de forma transparente.
O DAO é responsável por encapsular as operações CRUD. Dentro dela serão montadas as sentenças SQL necessárias para inserir, recuperar, atualizar e deletar os registros da tabela.
Pattener Singleton
onde temos que usar várias vezes um código semelhante, para tarefas semelhantes, em todo do nosso projeto/sistema  usa-se o formato Singleton.
De acordo com a imagem acima temos várias observações, mas a mais delicada a tratar são as linhas 10 e 22, onde estão a nossa criação de um atributo do tipo Janela , que sempre será uma nova Janela, PORÉM está com o termo INSTANCE, armazenando essa instancia.
E na linha 22 temos um método que sempre retornará o conteúdo de INSTANCE.
Vale lembrar que o que será visível fora desse escopo são somente os métodos e atributos declarados como PUBLIC.
Já os métodos e atributos declarados como PRIVATE, estão acessíveis somente dentro do seu escopo, ou seja, dentro de sua classe.
Vamos lá faça o teste!
Uma outra maneira de controlar, que é a mais usada hoje em dia é da seguinte forma:
Note que nesse código, usei ainda um atributo do tipo da Classe, que é nosso exemplo Janela2 e um método public static synchronized, o qual retorna uma instancia da classe. A grande diferença é o teste executado na linha 13, onde o sistema verificará se já existe uma instância rodando, se verdadeiro retorna tal instância, caso contrário ele cria ela. Dessa forma também se tem o controle que ela foi criada uma UNICA VEZ.

Continue navegando