Baixe o app para aproveitar ainda mais
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.
Compartilhar