Questões de Concurso
Sobre padrões de projeto (design patterns) em arquitetura de software
Foram encontradas 601 questões
package ServiceLayer;
public interface ServiceA {
int srvA1();
int srvA2();
int srvA3();
}
package ServiceLayer;
public interface ServiceB {
int srvB1();
int srvB2();
}
package ServiceLayer;
public class Services {
private Services() {
}
public static ServiceA serviceA() {
return new CL01();
}
public static ServiceB serviceB() {
return new CL01();
}
}
package ServiceLayer;
class CL01 implements ServiceA, ServiceB{
public int srvA1()
{ // código irrelevante }
public int srvA2()
{ // código irrelevante }
public int srvA3()
{ // código irrelevante }
public int srvB1()
{ // código irrelevante }
public int srvB2()
{ // código irrelevante }
}
O trecho de código a seguir mostra como os serviços disponíveis são executados.
{
ServiceA s1=Services.serviceA();
ServiceB s2=Services.serviceB();
s1.srvA1();
s2.srvB1();
// código irrelevante
}
Essa arquitetura usou variações de dois padrões de projeto conhecidos, que são:
A solução proposta é a seguinte:
1. Uma classe abstrata (DB) será responsável por instanciar um objeto correspondente ao tipo de banco de dados desejado. Isso será feito através do método estático getDB(), que irá retornar um objeto de uma de suas subclasses concretas, de acordo com o parâmetro (tipo) passado.
2. O objeto criado no passo anterior irá instanciar conexões e consultas correspondentes ao tipo de DB criado; isto é, caso um DB XML tenha sido instanciado, apenas consultas XML e conexões XML serão instanciadas; caso um DB SQL tenha sido instanciado, apenas consultas SQL e conexões SQL serão instanciadas.
O diagrama de classe a seguir ilustra a estrutura descrita acima.

Qual padrão de projeto foi utilizado na solução proposta?
de acordo com os conceitos da análise e do projeto orientado a
objetos e tenha sido utilizada, como ferramenta para modelagem, a
UML (Unified Modeling Language), versão 2.0, julgue os próximos
itens.
I. Abrange a configuração e inicialização de objetos e classes.
II. Lida com as interfaces e a implementação das classes e dos objetos.
III. Lida com as interações dinâmicas entre grupos de classes e objetos.
Essas famílias são denominadas, respectivamente,
É um design pattern que permite que uma aplicação seja desenvolvida de forma que a camada de acesso aos dados seja isolada das camadas superiores. Numa aplicação que utiliza a arquitetura MVC, todas as funcionalidades de bancos de dados, tais como estabelecimento de conexões, mapeamento de objetos Java para tipos de dados SQL ou execução de comandos SQL, devem ser feitas por classes representadas nesse design pattern.
O texto faz referência ao design pattern
I. Adaptador não é um padrão de projeto reconhecido.
II. Normalmente, o padrão adaptador aplica-se a qualquer contexto em que queiramos modificar uma classe existente de maneira que seus métodos se adaptem aos de uma classe ou interface relacionada, porém diferente.
III. A regra geral para aplicar o padrão Adaptador é definir a nova classe de maneira que ela contenha uma instância da classe antiga, como um campo escondido, e implemente os métodos da nova classe usando os métodos da varável de instância escondida.
IV. Adaptador garante através de um método público que somente uma instância da classe em questão existirá.
O padrão Abstract Factory é corretamente aplicável, quando necessário, para fornecer uma biblioteca de classes e não revelar suas interfaces.
Os padrões de projeto são úteis tanto na fase de planejamento da arquitetura quanto na de desenvolvimento e codificação.
O padrão Prototype pode ser usado no desenvolvimento de programas escritos com a linguagem PHP 5.0, atuando como padrão estrutural que permite construir tanto classes quanto objetos.
O padrão Facade assemelha-se ao Mediator no aspecto em que este abstrai um subsistema de objetos a fim de fornecer uma interface encapsulada na forma como um conjunto de objetos interage entre si.
O padrão Singleton garante que uma classe tenha somente uma instância, fornecendo, assim, um ponto global de acesso a essa instância.
Com relação ao tema, considere as asserções a seguir.
Nas aplicações Java EE, o design pattern JavaServer Faces utiliza o framework MVC para representar o fluxo sequencial de comunicação entre as camadas. O MVC permite representar e entender a comunicação existente entre os componentes da aplicação
PORQUE
quando se utiliza o MVC em aplicações web desenvolvidas com Java, a requisição do cliente é normalmente interceptada por uma servlet de controle (Controller). Essa servlet manipula o processamento inicial da requisição, acessa os componentes do modelo (Model) e geralmente determina qual será a página (View) que irá mostrar o conteúdo de resposta da requisição.
Acerca dessas asserções, é correto afirmar:
