Questões de Concurso
Comentadas sobre padrões de projeto (design patterns) em arquitetura de software
Foram encontradas 574 questões
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:
Esses padrões podem ter finalidade de criação, estrutural ou comportamental”. Erich Gamma
Acerca das finalidades e características dos Padrões de Projeto, assinale a opção correta.
A arquitetura de software e padrões de projeto incluem modularidade, onde o software é dividido em componentes nomeados separadamente e endereçáveis, integrados para satisfazer aos requisitos do problema.
Diante do conceito de modularidade, julgue corretamente as afirmativas a seguir como verdadeiras (V) ou falsas (F) e assinale a alternativa correspondente.
I – É mais fácil resolver um problema quando o dividimos em partes gerenciáveis.
II – O custo para desenvolver um módulo de software individual diminui ao mesmo tempo em que o número total de módulos aumenta.
III – À medida em que o número de módulos
cresce, o esforço (custo) para integrar esses
módulos diminui.
O uso do padrão Fachada Remota para intermediar chamadas a processos em execução por um servidor de aplicações, a partir de um cliente fisicamente remoto, aumenta o desempenho da aplicação
PORQUE
Uma característica do objeto Fachada Remota é que ele implementa parte da lógica de negócio no lado cliente, o que diminui a quantidade de chamadas necessárias ao servidor.
Analisando as afirmações, conclui-se que
A engenharia de software é um a disciplina do
conhecimento humano que aplica princípios da engenharia ao
desenvolvimento de software. N o entanto, existem diferenças
significativas entre as engenharias clássicas — mecânica, civil,
elétrica— e a engenharia de software, muitas delas decorrentes das
diferenças de natureza entre o produto ou sistema resultante da
atividade das engenharias clássicas e a engenharia de software.
A engenharia de software desdobrou-se em várias áreas
especializadas, como as áreas de requisitos de software, de análise
e projeto de software, de implementação de software, de testes de
software, de gestão de configuração, entre outras. N a interface entre
as engenharias clássicas e a de software insere-se a engenharia de
sistemas, abordada colateralmente na ISO/IEC 12207.
O emprego de padrões de projeto reusáveis, como façade, builder e singleton, é uma prática com nível inferior de abstração, quando comparado ao emprego de estilos arquiteturais de software, como camadas, cliente-servidor e peer-to-peer.
Padrões de Projetos
1. Facade (fachada)
2. Decorator (decorador)
3. Memento (lembrança)
4. Proxy (procurador)
5. Observer (observador)
Finalidades
( ) Define uma dependência um para muitos entre objetos tal que, quando o estado de um objeto muda, todos os seus dependentes são notificados e atualizados automaticamente.
( ) Fornece uma interface unificada para um conjunto de objetos que constituem um subsistema. Define uma interface de mais alto nível que torna o subsistema mais fácil de usar.
( ) Sem violar o encapsulamento, captura e exterioriza o estado interno de um objeto, tal que o objeto possa ser restaurado a este estado mais tarde.
( ) Acrescenta responsabilidades adicionais a um objeto dinamicamente. Fornece uma alternativa flexível para a extensão de funcionalidade.
( ) Controla o acesso a um objeto através de outro objeto, que atua como seu substituto, ou como um envoltório.
Assinale a alternativa que indica a sequência correta, de cima para baixo.