Arquitetura de Software Flashcards

1
Q

De acordo com as recomendações do consórcio W3C, as funcionalidades de um Web Service devem ser descritas por meio do padrão:

A

WSDL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Segundo as Diretrizes de Acessibilidade para Conteúdo Web (WCAG 2.0), para prevenir erros de entrada no nível de sucesso mais elevado (Nível AAA), as páginas devem garantir que as operações comandadas pelo usuário sejam:

A

reversíveis, verificadas ou confirmadas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Certo ou errado?

Nesse tipo de arquitetura cliente-servidor em multicamadas, um terminal pode executar a aplicação, enquanto outro terminal exibe o resultado na tela.

A

Errado!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Certo ou errado?

Julgue os itens que se seguem, concernentes à arquitetura cliente-servidor em multicamadas.

Uma estação cliente nunca estabelece comunicação direta com o servidor de banco de dados, mas sim com uma camada intermediária, a qual se comunica com o banco de dados.

A

Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Certo ou errado?

Entre as diversas tecnologias utilizadas para se desenvolver um portal corporativo dinâmico, existem os webservices, que facilitam as trocas de informações entre sistemas. Com referência às tecnologias normalmente empregadas em webservices, julgue os próximos itens.

Por meio do protocolo chave HTTP, é possível utilizar o método PUT para se criar um novo recurso de um webservice.

A

Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Certo ou errado?

Entre as diversas tecnologias utilizadas para se desenvolver um portal corporativo dinâmico, existem os webservices, que facilitam as trocas de informações entre sistemas. Com referência às tecnologias normalmente empregadas em webservices, julgue os próximos itens.

Um documento SOAP é um XML que possui um elemento raiz denominado fault, que é utilizado para armazenar dados de transporte da informação.

A

Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Certo ou errado?

Entre as diversas tecnologias utilizadas para se desenvolver um portal corporativo dinâmico, existem os webservices, que facilitam as trocas de informações entre sistemas. Com referência às tecnologias normalmente empregadas em webservices, julgue os próximos itens.

Por meio de webservice, um sistema desenvolvido em PHP pode trocar informações, via arquivos XML, com uma aplicação que retorne uma lista de endereços postais, desenvolvida em Java.

A

Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Certo ou errado?

Na busca de um produto em uma loja virtual por meio de um webservice, quando o produto é encontrado, o protocolo HTTP retorna um HTTP/1.1 404, o que facilita o tratamento do pedido no programa cliente.

A

Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Web services são componentes de aplicações web que podem ser criados, publicados, encontrados e usados na web, utilizando um conjunto de recursos, dentre eles, os descritos a seguir:

I. É uma linguagem baseada em XML, recomendado pelo W3C, para descrever Web services.
II. É um protocolo baseado em XML, recomendado pelo W3C, para acessar Web Services.
III. É um serviço de diretório onde as empresas podem procurar por Web Services.
IV. É um framework escrito em XML e recomendado pelo W3C, para descrever recursos na web.

Os recursos apresentados em I, II, III e IV descrevem, respectivamente:

A

WSDL; SOAP; UDDI; RDF

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O padrão de projeto singleton tem por objetivo:

A

assegurar que cada classe tenha uma única instância.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Na Comutação em Nuvem (Cloud Computing), o termo Software as a Service (SaaS) vem sendo utilizado para designar uma nova maneira de distribuição e comercialização de software, que possui como uma de suas características:

A

a não aquisição das licenças dos softwares a serem utilizados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Um Analista de Desenvolvimento de Sistemas do CNMP deve indicar o padrão de projeto mais adequado para ser aplicado na seguinte situação:

Uma aplicação que existe simultaneamente em um dispositivo móvel e no ambiente corporativo, necessita de um processo de sincronização entre as informações processadas no dispositivo móvel e na base corporativa. Ambas as aplicações devem se comunicar com um objeto que deve ser único para processar este sincronismo, a fim de evitar a possibilidade de criar dados na base.

O padrão de projeto corretamente indicado pelo Analista deve ser:

A

Singleton, um padrão de criação, que busca garantir que um objeto terá apenas uma única instância, ou seja, uma classe irá gerar apenas um objeto e que este estará disponível de forma única para todo o escopo de uma aplicação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Considere as situações:

I. É necessário um arranjo que possibilite a reutilização do código e facilite sua manutenção e seu aperfeiçoamento. Devese separar Apresentação, Regra de Negócio e Acesso a Dados. Busca-se a decomposição de funcionalidades de forma a permitir aos desenvolvedores concentrarem-se em diferentes partes da aplicação durante a implementação.

II. Há um problema que ocorre várias vezes em determinado contexto, cuja solução arquitetural é conhecida e já existe modelada e documentada podendo ser utilizada sistematicamente em distintas situações.

III. Buscam-se princípios e orientações para transformar o conjunto existente de recursos de TI de uma empresa, que são heterogêneos, distribuídos, complexos e inflexíveis em serviços integrados, simplificados e altamente flexíveis que possam ser alterados e compostos para apoiar mais diretamente as metas comerciais nos negócios via web.

As soluções para as situações apresentadas em I, II e III, são, correta e respectivamente:

A

Arquitetura em 3 camadas, Padrão de Projeto e SOA.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A abordagem MVC (Model‐View‐Controller – Modelo/Visão/Controlador) compõe‐se de três objetos: modelo, visão e controlador. O modelo é o objeto da aplicação, a visão é a apresentação na tela e o controlador que é quem define a maneira como a interface do usuário reage às entradas do mesmo. MVC utiliza vários padrões de projeto, cada um com as suas características. Na abordagem MVC, dois padrões têm as seguintes funções: especificar por falta (by default) a classe controladora para uma visão e acrescentar capacidade de rolagem (scrolling). Assinale a alternativa que apresenta, respectivamente, esses dois padrões de projeto.

A

Factory Method e Decorator.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

“Representa uma operação a ser executada sobre os elementos da estrutura de um objeto. Permite que se defina uma nova operação sem mudar as classes dos elementos sobre os quais opera.” Trata‐se do padrão de projeto:

A

Visitor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quais são os padrões criacionais?

A

Singleton, Builder, Prototype, Abstract Factory, Factory Method.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Certo ou errado?

Com relação a qualidade de software, bancos de dados e suas tecnologias, julgue os itens de 87 a 92.

Na arquitetura cliente-servidor, o cliente (front_end) fornece a interface do usuário e o servidor (back_end) executa as consultas no SGBD. A principal desvantagem dessa arquitetura é a divisão do processamento entre dois sistemas, o que aumenta o tráfego de dados na rede.

A

Errado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Uma arquitetura muito comum em aplicações web é o Modelo Arquitetural 3 Camadas:

I. Camada de Persistência.
II. Camada de Lógica de Negócio.
III. Camada de Apresentação.

Neste modelo, a correta associação dos componentes com as camadas é:

A

I-Servidor de Banco de Dados
II-Servidor de Aplicação
III-Máquina Cliente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Angela pretende utilizar alguns design patterns em seu projeto Java e, após algumas pesquisas, encontrou o que buscava em Singleton e Prototype cujos objetivos são, respectivamente:

I. Encapsular a escolha das classes concretas a serem utilizadas na criação dos objetos de diversas famílias.

II. Permitir a criação de uma única instância de uma classe e fornecer um modo para recuperá-la.

III. Possibilitar o reaproveitamento de objetos.

IV. Possibilitar a criação de novos objetos a partir da cópia de objetos existentes.

Está correto o que consta APENAS em:

A

II e IV.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Considere as seguintes afirmações sobre a arquitetura de três camadas:

I. Essa arquitetura não suporta sistemas que possuam bases de dados.
II. Uma das formas de denominação das três camadas é cliente, aplicação e dados.
III. Os programas de interface com o usuário ficam contidos na camada de aplicação.

Sobre as afirmações, está correto apenas o contido em:

A

II

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Certo ou errado?

Os anti-patterns destacam problemas comuns que as organizações desenvolvedoras de software enfrentam em temas organizacionais de gestão de projeto, de desenho (design), de programação, de gerência de configuração, entre outros, e fornecem orientações para que esses problemas sejam reconhecidos e as suas causas subjacentes, determinadas.

A

Certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Certo ou errado?

Todo ConcreteIterator que participa de uma aplicação do padrão Iterator está associado a um ConcreteAggregate.

A

certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Certo ou errado?

O padrão GRASP denominado Controller é um padrão avaliativo que dita como atribuir responsabilidades a um desenho orientado a objeto visando obter baixo acoplamento.

A

errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Certo ou errado?

Um comando, participante do padrão Command, herda de um MacroCommand.

A

errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Certo ou errado?

Em padrões comportamentais, a distribuição de comportamento entre classes é feita por meio de delegação.

A

errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Certo ou errado?

Padrões comportamentais distribuem responsabilidade pela instanciação de objetos entre seus participantes, da mesma forma que nos padrões GRASP.

A

errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Certo ou errado?

O uso do padrão singleton apresenta como consequências uma redução do uso de variáveis globais e uma melhor organização do espaço de nomes de um software orientado a objetos.

A

certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Segundo Gamma et al, em seu livro sobre Padrões de Projeto, o uso do padrão Memento apresenta as consequências listadas nas afirmativas a seguir.

I. A adição e a remoção de produtos em tempo de execução.
II. A especificação de novos objetos pela variação de seus valores e/ou de sua estrutura.
III. A redução da necessidade de criação de subclasses.

Quais estão certas?

A

Nenhuma!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

No contexto de Web Services, o WSDL é a linguagem recomendada pelo W3C para:

A

descrever as funcionalidades oferecidas pelo serviço.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Para oferecer um serviço na internet, é necessário manter um computador online para disponibilizar conteúdo a outros que realizam o acesso. Nesse cenário, o computador que disponibiliza os dados e o que realiza o acesso representam, respectivamente:

A

o servidor e o cliente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

O padrão de projeto Factory provê uma classe de decisão que retorna:

A

um objeto de uma de suas subclasses, com base em um parâmetro recebido.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

A definição de que um sistema deve ser desenvolvido em três níveis é feita pelo padrão de projeto:

A

MVC (Model View Controller).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

O padrão de projeto singleton é usado para restringir :

A

a instanciação de uma classe para apenas um objeto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Certo ou errado?

No desenvolvimento de um sistema estruturado em subsistemas para facilitar o acesso e minimizar a comunicação e dependências entre os subsistemas, o padrão de criação Factory Method, que fornece uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas, é mais indicado que o padrão de criação Prototype.

A

Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Certo ou errado?

Se, no desenvolvimento de uma aplicação que leia documentos do tipo txt e seja capaz de converter o documento em vários formatos distintos, houver a necessidade de facilitar acréscimos de novos tipos de conversão, será mais indicado o uso do padrão de estrutura Adapter que o uso do padrão de estrutura Bridge, pois o padrão Adapter separa a construção de um objeto complexo de sua representação para criar representações diferentes com o mesmo processo.

A

Errado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Um padrão de projeto de software descreve uma solução geral e reutilizável para um problema recorrente no desenvolvimento de sistemas. Ele é voltado para o desenvolvimento de softwares orientados a objeto, mas não apresenta um código final, porém apenas uma descrição de como resolver o problema. O padrão de projeto que garante a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao objeto, chama-se:

A

singleton

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Em um sistema com arquitetura de três camadas, a camada de apresentação tem a função de:

A

realizar a interação com o usuário.

38
Q

Certo ou errado?

O fato de cada código ter sua própria estrutura não constitui impedimento para se estabelecerem padrões para a prática de refactoring, sendo possível, por exemplo, utilizar padrões de projeto, como o factory method, para remover duplicações no código.

A

Certo

39
Q

Certo ou errado?

O uso do conceito de delegação em projetos leva a um código dinâmico, normalmente com um ganho de desempenho.

A

Errado, não necessariamente implica em ganho de desempenho.

40
Q

Um padrão de projeto (do inglês design pattern) é uma solução reutilizável para problemas que ocorrem com frequência dentro de um determinado contexto de um projeto de sistema de software orientado a objetos, e que ganhou popularidade com o catálogo denominado Padrões GoF (‘Gang of Four’) que define e organiza essas soluções reutilizáveis em 3 famílias conforme o propósito de cada solução. Os padrões de projetos denominados Composite, Factory Method e Memento, que fazem parte desse catálogo, pertencem, respectivamente, às famílias:

A

padrão estrutural, padrão de criação e padrão comportamental;

41
Q

Os padrões de projeto estruturais diminuem o acoplamento entre os objetos de um sistema orientado a objetos tornando mais simples eventuais alterações no funcionamento do sistema. Um destes padrões permite centralizar todas as requisições a uma aplicação Web, ou seja, haverá um único ponto de entrada na aplicação que receberá e tratará todas as requisições. Este padrão é conhecido como:

A

Front Controller.

42
Q

Todos os sistemas bem estruturados são repletos de padrões, pois fornecem uma solução comum para um problema básico em um determinado contexto. O termo padrão de projeto pode ser considerado como:

A

mecanismo

43
Q

Certo ou errado?

Caso seja verificado no desenvolvimento de um sistema forte acoplamento entre as classes, recomenda-se o uso do padrão de comportamento Factory Method, que evita o acoplamento do remetente de uma solicitação ao seu receptor, dando a mais de um objeto a oportunidade de tratar uma solicitação, mesmo nos casos em que o conjunto de objetos não seja conhecido a priori ou seja definido dinamicamente.

A

Errado

44
Q

Analise as seguintes afirmações:

I. Fornece uma interface para a criação de uma família de objetos relacionados ou dependentes sem fornecer os detalhes de implementação das classes concretas.

II. Converte uma interface de uma classe existente em outra interface esperada pelos clientes. Permite que algumas classes com interfaces diferentes trabalhem em conjunto.

III. Separa uma implementação de sua abstração, de forma que ambas possam variar independentemente.

IV. Separa a construção de um objeto complexo de sua representação, de modo que o mesmo processo possa criar representações diferentes.

Tratam, respectivamente, dos design patterns:

A

Abstract Factory − Adapter − Bridge − Builder.

45
Q

Um padrão de projeto do catálogo GoF (Gang of Four) é o Template Method, cuja finalidade é:

A

permitir a definição da parte invariante de um algoritmo separadamente de sua parte variante.

46
Q

Um Padrão de Projeto de Software ou Padrão de Desenho de Software, também muito conhecido pelo termo original em inglês Design Pattern, descreve uma solução geral reutilizável para um problema recorrente no desenvolvimento de sistemas de software.

A descrição de um padrão de projeto deve conter :

A

um nome, a descrição do problema, a solução utilizando alguma notação ou linguagem própria de projeto, em quais situações a solução é aplicável, e as consequências do uso da solução apresentada.

47
Q

O padrão de projeto que tem como finalidade separar a construção de um objeto complexo de sua representação, de forma que um mesmo processo de construção possa criar diferentes representações é conhecido como:

A

Builder

48
Q

Certo ou errado?

Os padrões estruturais, tais como o Bridge e o Proxy, abstraem o processo de instanciação, ajudando a tornar um sistema independente de como os seus objetos são criados. Já os padrões de criação, como Prototype e o Builder, se preocupam com a forma como as classes e os objetos são criados para formar estruturas compostas maiores.

A

Errado, eles são estruturais, não fazem processo de instanciação.

49
Q

Certo ou errado?

Design patterns não se aplicam, exclusivamente, ao Java, podendo ser empregados em projetos que utilizam linguagem C#.

A

Certo

50
Q

Certo ou errado?

O padrão bridge, além de converter a interface de uma classe existente em outra interface esperada pelos clientes, permite que algumas classes com interfaces diferentes funcionem conjuntamente.

A

Errado, essa é a definição do Adapter.

51
Q

O Padrão de Projeto Decorador é formado por uma hierarquia de classes cuja classe mais genérica representa um componente ou um componente abstrato. Para o padrão ser útil, essa classe deve ser diretamente especializada em, pelo menos, outras duas classes que representam um(a):

A

componente concreto e um decorador

52
Q

Certo ou errado?

Com relação ao padrão singleton de desenvolvimento orientado a objetos, julgue os próximos itens.
O controle de como e quando os clientes acessam a instância pode ser obtido por meio da operação getInstance.

A

Certo

53
Q

Certo ou errado?

Esse padrão permite o refinamento de operações e de representação, pois as várias classes singleton obedecem à mesma interface, o que permite que um singleton seja escolhido para trabalhar com determinada aplicação em tempo de execução.

A

Certo

54
Q

Certo ou errado?

Com referência aos padrões de projeto relacionados à engenharia de software, julgue os itens seguintes.
Padrões de projeto envolvem combinações de classes e algoritmos associados que cumprem com propósitos comuns de projeto.

A

Certo

55
Q

Certo ou errado?

Para um problema recorrente no desenvolvimento de sistemas, normalmente, um padrão de projeto descreve uma solução geral, que não pode ser reutilizada.

A

Errado, pode ser reutilizada.

56
Q

Certo ou errado?

O padrão de comportamento e encadeamento de atendentes (chain of responsibility) evita acoplamento entre solicitantes e atendentes, permitindo que mais de um objeto tenha chance de tratar a solicitação.

A

Certo

57
Q

Na loja Oiapoque, a política de definição de preços para uma venda pode variar. Durante um período, ela pode ad-mitir um desconto de 15% em todas as vendas; posteriormente pode permitir um desconto de R$ 20,00, se o total da venda for maior que R$ 300,00, e muitas outras variações. O padrão de projeto para construir esses algoritmos para definição de preços variados é o GoF:

A

Strategy

58
Q

O Instituto Nacional do Clima (INC) utilizará uma biblioteca de simulações de clima fabricada por uma empresa americana. Porém, após a aquisição, percebeu-se que as interfaces disponibilizadas pelas classes dessa biblioteca são incompatíveis com as interfaces das classes de outros sistemas do INC. A maneira correta de contornar esse problema é a utilização do padrão de projetos:

A

Adapter

59
Q

Certo ou errado?

Singleton é um padrão de projeto de software que garante a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao seu objeto.

A

Certo

60
Q

Certo ou errado?

O Abstract Factory, cujo objetivo é permitir a unificação da interface de um sistema, é considerado um padrão comportamental devido à sua propriedade característica de alterar o comportamento do software de acordo com o comportamento do usuário.

A

Errado

61
Q

Certo ou errado?

Os padrões Facade e Adapter são úteis para fornecer uma camada de isolamento em relação às incompatibilidades entre múltiplos navegadores.

A

Certo

62
Q

Certo ou errado?

GRASP (general responsibility assignment software patterns) consiste em um conjunto de sete padrões básicos para atribuir responsabilidades em projeto orientado a objetos: information expert, creator, controller, low coupling, high cohesion, polymorphism e pure fabrication.

A

Errado, são somente cinco padrões básicos.

63
Q

Creational Pattern Java que tem por objetivo separar a construção de um objeto complexo da sua representação, de tal forma que diversas representações podem ser criadas em razão da necessidade do programa. Trata-se de:

A

Builder

64
Q

Considere:

I. Fornecer uma interface para criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas. Possibilitar o adiamento da instanciação para as subclasses.

II. Garantir a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao seu objeto.

III. Possibilitar o armazenamento do estado interno de um objeto em um determinado momento, para que seja possível retorná-lo a este estado, caso necessário.

I, II e III são, respectivamente, objetivos dos design patterns intitulados:

A

Factory Method, Singleton e Memento.

65
Q

No contexto dos padrões de projeto:

I. Oferecer uma interface simples para uma coleção de classes.
II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente.

Correspondem respectivamente a:

A

Façade e Bridge.

66
Q

Certo ou errado?

O uso do padrão Builder tem a vantagem de permitir acesso controlado à instância de uma classe, uma vez que ele encapsula a classe, criando um ponto global único de acesso.

A

Errado

67
Q

Certo ou errado?

O padrão Adapter será mais apropriado que o Façade quando for necessário fornecer uma interface unificada para um conjunto de interfaces em um subsistema.

A

Errado

68
Q

Certo ou errado?

Uma das aplicabilidades do padrão Iterator é a representação de hierarquias do tipo todo-parte de objetos, de modo que a aplicação seja capaz de ignorar a diferença entre composições de objetos e objetos individuais, haja vista que todos os objetos tratados no padrão têm comportamento uniforme.

A

Errado

69
Q

Certo ou errado?

O padrão Don’t Talk to Strangers é utilizado para fortalecer o polimorfismo, realizado pelo padrão Polymorphism. O objetivo de ambos os padrões é substituir um componente sem afetar outro componente, embora o primeiro implemente o polimorfismo em nível de classe e o segundo lide com alternativas embasadas no tipo de componente.

A

Errado

70
Q

Certo ou errado?

O padrão Indirection é utilizado para atribuir responsabilidades à classe que tiver a informação necessária para satisfazer a responsabilidade.

A

Errado

71
Q

Certo ou errado?

Nos casos em que a solução oferecida pelo padrão Expert violar a alta coesão e o baixo acoplamento, o padrão adequado a ser aplicado será o Creator, que atribui um conjunto altamente coesivo de responsabilidades a uma classe artificial que não representa um conceito do domínio do problema.

A

Errado

72
Q

Certo ou errado?

O padrão Pure Fabrication objetiva designar a responsabilidade unívoca pela criação de uma nova instância de uma classe.

A

Errado

73
Q

Certo ou errado?

Ponte - Separa a abstração de um objeto de sua implementação.

A

Certo

74
Q

Certo ou errado?

Observador - Define e mantêm dependência entre objetos.

A

Certo

75
Q

Certo ou errado?

Decorador - Mostra como adicionar responsabilidades aos objetos dinamicamente.

A

Certo

76
Q

Em uma aplicação para gerenciamento de currículos profissionais, deve haver uma funcionalidade para pesquisa (busca) por informações previamente registradas. Essa funcionalidade deve ser apresentada aos usuários como um formulário da interface gráfica da aplicação cuja composição deve ser diferente em cada uma das seguintes situações. Na primeira, o formulário deve apresentar ao usuário campos que permitam realizar buscas por empresas que oferecem vagas de emprego. Na segunda situação, o formulário deve apresentar campos para permitir aos usuários a realização de buscas por currículos de candidatos a vagas de emprego. O engenheiro de software, encarregado da implementação dessa funcionalidade, decidiu usar um padrão de projeto do catálogo GoF (Gang of Four). Esse padrão foi escolhido porque permite construir produtos com diferentes representações de tal forma que o mesmo processo de construção possa ser usado para criar diferentes produtos. No caso da funcionalidade descrita acima, os diferentes produtos a serem criados são as duas variantes do formulário de busca. Dentre os listados abaixo, qual foi o padrão escolhido pelo engenheiro de software?

A

Builder

77
Q

Os padrões Singleton, Proxy e Memento são classificados, respectivamente, como:

A

de criação, estrutural e comportamental

78
Q

Os padrões Gang of Four (GoF) organizam um conjunto de padrões de projeto (design patterns) em três grupos: de criação, estruturais e comportamentais. Três destes padrões são descritos a seguir:

I. Em situações em que classes precisam trabalhar juntas, mas isto não está sendo possível porque suas interfaces são incompatíveis, pode-se utilizar este design pattern que permite converter a interface de uma classe em outra interface esperada pelos clientes de forma que classes com interfaces incompatíveis possam interagir.
II. Este design pattern pode ser utilizado quando se deseja definir uma dependência um-para-muitos entre objetos de modo que quando um objeto muda o estado, todos seus dependentes são notificados e atualizados.
III. Em situações em que se deseja acessar o conteúdo de uma coleção sem expor sua representação interna utiliza-se este design pattern que permite prover uma interface única para varrer coleções diferentes.

Os padrões descritos nos itens I, II e III são, respectivamente:

A

Adapter, Observer e Iterator.

79
Q

Certo ou errado?

O padrão de projeto Proxy é uma solução adequada para alguns problemas de design, EXCETO para fornecer uma interface mais adequada do que a oferecida pelo objeto que ele representa.

A

Certo

80
Q

Certo ou errado?

Hashmap, ArrayList, TreeSet.
Todas as implementações indicadas empregam o padrão de desenho denominado Iterator.

A

Certo

81
Q

Certo ou errado?

No design, o padrão GRASP controller visa definir as interações entre objetos e atribuir responsabilidades às classes

A

Errado

82
Q

Considere os padrões que podem ser utilizados em um projeto de software e relacione os padrões com suas respectivas intenções primárias.

Padrão
I – Bridge
II – Builder
III – Factory Method

Intenção primária

(P) Padrão estrutural cuja intenção é converter a interface de uma classe em outra interface, esperada pelos clientes, permitindo que classes com interfaces incompatíveis trabalhem em conjunto, o que, de outra forma, seria impossível.

(Q) Padrão estrutural cuja intenção é desacoplar uma abstração da sua implementação, de modo que as duas possam variar independentemente.

(R) Padrão de criação cuja intenção é separar a construção de um objeto complexo da sua representação de modo que o mesmo processo de construção possa criar diferentes representações.

(S) Padrão de criação cuja intenção é definir uma interface para criar um objeto, mas deixando as subclasses decidirem que classe instanciar. Ele permite adiar a instanciação para subclasses.

A relação correta é:

A

I – Q , II – R , III – S

83
Q

Certo ou errado?

O Prototype é um padrão de criação de projeto que estabelece que um objeto deve possuir apenas uma instância, de modo que uma única classe gera somente um objeto, que deve estar disponível para todo o escopo da aplicação.

A

Errado

84
Q

Certo ou errado?

O Adapter é um padrão estrutural que permite a integração de classes que possuem interfaces incompatíveis.

A

Certo

85
Q

Certo ou errado?

Em programação orientada a objetos, o padrão de projeto denominado Singleton define uma classe que possui apenas uma instância e provê um ponto de acesso local a ela.

A

Errado, é ponto de acesso global.

86
Q

Certo ou errado?

Em programação orientada a objetos, o padrão de projeto denominado Iterator define uma forma de acesso sequencial aos elementos de um objeto agregado, sem expor sua representação interna.

A

Certo

87
Q

Certo ou errado?

Um padrão (pattern) tem pelo menos os seguintes elementos: nome, problema, solução e consequência.

A

Certo

88
Q

Certo ou errado?

Em virtude da característica de combinatoriedade, um padrão não permite a construção de outro padrão derivado.

A

Errado

89
Q

Certo ou errado?

O padrão de criação Prototype define um sistema sem funcionalidades inteligentes (acesso a banco de dados, por exemplo), podendo conter apenas funcionalidades gráficas. Além disso, é utilizado para fins de ilustração e melhor entendimento.

A

Errado

90
Q

Certo ou errado?

O padrão de projeto de software que limita o número máximo de instâncias de uma classe a somente uma instância é denominado Singleton.

A

Certo

91
Q

Certo ou errado?

O padrão de desenvolvimento comportamental denominado Iterator permite percorrer uma lista de objetos sem expor sua representação interna.

A

Certo