baixar PDF
1) Explique o que é Java Design Pattern?
Um padrão de projeto é uma estratégia independente de linguagem para resolver problemas comuns de projeto orientado a objetos. Ele descreve como estruturar classes para atender a um determinado requisito.
2) Explicar o que são padrões de design criativo e padrão de fábrica?
Padrão de design criativo : Este padrão é usado para definir e descrever como os objetos são criados no momento da instanciação da classe.
Padrão de fábrica : O padrão de fábrica é usado para criar um objeto sem expor a lógica de criação ao cliente e se referir a um objeto recém-criado usando uma interface comum.
3) Qual padrão de design é usado para obter uma maneira de acessar os elementos de um objeto de coleção de maneira sequencial?
O padrão Iterator é usado para obter uma maneira de acessar os elementos de um objeto de coleção de maneira sequencial.
4) Quando o padrão do localizador de serviço é usado?
Quando queremos localizar vários serviços usando JNDI, usamos o padrão de localizador de serviço.
5) Mencione de quantas maneiras você pode criar um padrão singleton?
Para criar objetos únicos, existem duas formas famosas
- Carregamento lento
- Carregamento ansioso
6) Mencione qual padrão é usado quando precisamos desacoplar uma abstração de sua implementação?
Quando queremos desacoplar uma abstração de sua implementação para que duas possam variar independentemente, usamos o padrão de ponte.
7) Mencione qual padrão de design será útil para adicionar uma nova funcionalidade a um objeto existente?
Um padrão de decorador permite que um usuário adicione uma nova funcionalidade a um objeto existente sem alterar sua estrutura.
8) Explique como você pode criar uma classe Singleton em Java?
É um processo de duas etapas,
- Primeiro, torne o construtor privado para que o novo operador não possa ser usado para instanciar a classe
- Retorne um objeto do objeto se não for nulo, caso contrário, crie o objeto e retorne o mesmo por meio de um método.
9) É possível escrever singleton thread-safe em Java?
Para escrever singleton thread-safe em Java, há várias maneiras, por exemplo, usando a instância singleton estática inicializada durante o carregamento da classe, escrevendo singleton usando bloqueio de verificação dupla. Java Enum é a maneira mais simples de criar singleton thread-safe.
10) Mencionar como se deve descrever um padrão de projeto?
Para descrever um padrão de design, as seguintes coisas precisam ser atendidas
- Nome e classificação do padrão
- Problema e solução
- Consequências: alternativas dependentes de variação e linguagem também devem ser abordadas
- Conhecer Usos: Identificar os usos nos sistemas reais e sua eficiência
11) Mencione por que o acesso à variável não estática não é permitido a partir do método estático em Java?
Você não pode acessar dados não estáticos do contexto estático porque as variáveis não estáticas estão associadas a uma instância específica de um objeto, enquanto a estática não está associada a nenhuma instância.
12) Mencione qual padrão é útil quando é necessário passar dados com vários atributos de uma vez do cliente para o servidor?
O padrão de objeto de transferência é útil quando é necessário passar dados com vários atributos de uma vez do cliente para o servidor.
13) Nomeie algumas das entidades do padrão DAO?
Algumas das entidades do DAO incluem,
- Classe concreta de objeto de acesso a dados
- Interface de objeto de acesso a dados
- Objeto de modelo ou objeto de valor
14) Mencione quando você pode usar o padrão de interceptação?
O padrão de interceptação é usado quando você precisa fazer algum pré-processamento ou pós-processamento com solicitação ou resposta do aplicativo.
15) Mencionar quando usar um Padrão de Fábrica?
O padrão de fábrica pode ser usado,
- Quando uma classe não sabe qual classe de objetos precisa criar
- Quando a classe especifica suas subclasses para especificar quais objetos criar
- Na linguagem de programação, você pode usar o padrão de fábrica onde você tem que criar um objeto de qualquer uma das subclasses dependendo dos dados fornecidos
16) Explique no padrão singleton se é melhor fazer todo o método getinstance () sincronizado ou apenas a seção crítica é o suficiente? Qual é preferível?
A sincronização de todo o método getinstance () é cara e só é necessária durante a inicialização na instância singleton, para parar de criar outra instância de Singleton. Portanto, é melhor sincronizar apenas a seção crítica e não todo o método.
17) Mencione de quantas maneiras você pode escrever uma classe singleton em Java?
Pode-se escrever uma classe singleton em Java de quatro maneiras
- Singleton com campo final público estático inicializado durante o carregamento da classe
- Singleton gerado por classe aninhada estática, também conhecido como padrão de suporte de singleton
- Singleton sincronizando o método get instance ()
- Do Java 5 em diante usando Enums
18) Explique como você pode evitar a criação de outra instância de singleton usando o método clone ().
A maneira preferida de evitar a criação de outra instância de um singleton é não implementar a interface Cloneable e, se você apenas lançar uma exceção do método clone (), “não criar um clone da classe singleton”.
19) Mencione qual a diferença entre “arremessar” e “arremessar”?
A palavra-chave “Throw” é usada para lançar explicitamente como uma exceção, enquanto “Throws” é usada para tratar as exceções verificadas para reinserir ao compilador que as exceções estão sendo tratadas. Os throws precisam ser usados na definição do método e também ao invocar o método que gera exceções verificadas.
20) Mencione quais classes no JDK usam o padrão singleton?
As classes Java.lang.Runtime usam o padrão singleton no JDK.
21) Mencione qual é a limitação de usar o padrão singleton?
O padrão singleton garante que uma classe tenha apenas uma instância e forneça um ponto global de acesso a ela. Mas, ao mesmo tempo, isso se torna sua limitação, pois a maioria das classes em um aplicativo precisará criar várias instâncias.
22) Mencione qual a diferença entre VO e JDO?
A diferença entre JDO e VO é que JDO é uma tecnologia persistente que compete com os beans de entidade no desenvolvimento de aplicativos corporativos. Ele permite que você crie POJO (objetos Java simples e antigos) e os mantenha no banco de dados.
Enquanto VO significa objetos de valor representa um padrão de design abstrato usado em conjunto com beans de entidade, jdbc e possivelmente até JDO para superar o isolamento comumente encontrado e problemas transacionais em aplicativos corporativos.