Questões de Arquitetura de Software - Padrões de projeto (Design Patterns) para Concurso
Foram encontradas 499 questões
Os padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidades em projetos de software orientado a objeto.
De acordo com esses padrões, o polimorfismo é um princípio orientador para atribuir responsabilidades
Julgue o próximo item, a respeito de arquitetura de software.
Os padrões de projeto abrangem um amplo espectro de
abstração e aplicação; especificamente, o factory method
pattern separa a construção de um objeto complexo de sua
representação de modo que o mesmo processo de construção
possa criar diferentes implementações do mesmo objeto.
Julgue o item subsequente, a respeito de padrões de projeto de software.
Design patterns é um conjunto de soluções generalistas para
problemas recorrentes durante o desenvolvimento de um
software; trata-se de um framework ou código pronto, e não
de uma definição de alto nível de como um problema comum
pode ser solucionado.
Julgue o item subsequente, a respeito de padrões de projeto de software.
Enquanto a arquitetura é responsável pela infraestrutura de
alto nível do software, o design é responsável pelo software
a nível de código, como, por exemplo, o que cada módulo
está fazendo, o escopo das classes e os objetivos das funções.
Julgue o item subsequente, a respeito de padrões de projeto de software.
Os três principais padrões de projeto (design patterns) são os
criacionais, os estruturais e os comportamentais; os padrões
criacionais aumentam a flexibilidade e a reutilização de
código porque oferecem diversas alternativas de criação de
objetos.
Assinale a alternativa que completa corretamente a lacuna do texto acima.
I - Um nome que seja uma referência significativa para o padrão.
II - Uma descrição do problema que explique quando o modelo pode ser aplicado.
III- Uma descrição da solução, ou seja, um modelo para uma solução de projeto que pode ser instanciado de diferentes maneiras.
Quais estão corretas?
Considere o código resumido a seguir, implementado em PHP, para responder à questão.
1. class Pessoa {
2. public static function salvar($nome, $email) {/*...*/ return $id;}
3. }
4. class Aluno {
5. public static function salvar($id, $matricula) {/*...*/}
6. }
7. class Registro {
8. public static function registrar($nome, $email, $matricula) {
9. Aluno::salvar(Pessoa::salvar($nome, $email), $matricula);
10. }
11. }
12. Registro::registrar(“Aluno 1”, “[email protected]”, 1001);
• Para se conhecer a média total do resultado de um aluno, qual princípio vai se direcionar para encontrar a classe de objetos adequada para receber essa responsabilidade?
• Nesse caso, qual princípio GRASP procura identificar a classe de objetos que tem a informação necessária para a determinação da média?
Assinale a opção que apresenta o princípio GRASP presente nos referidos questionamentos.
Qual foi o padrão de projeto utilizado?
O padrão de projeto _________ assegura que uma classe gere apenas uma instância e forneça acesso a essa instância.
O padrão de projeto _________ organiza objetos em estruturas de árvore para representar hierarquias todo-parte. Esse padrão permite que clientes tratem objetos individuais e coleções de objetos de maneira uniforme.
O padrão de projeto _________ acrescenta responsabilidades adicionais a um objeto dinamicamente. Esse padrão fornece uma alternativa flexível para a extensão de funcionalidade em relação à solução por meio de herança.
I. Bridge.
II. Mediator.
III. Proxy.
Os padrões de projeto são, respectivamente, do tipo
I. Descrevem os aspectos de elaboração, associação e a organização entre objetos e classes/interfaces, permitindo combinar objetos em modalidades mais complexas, ou descrever como as classes são herdadas ou compostas a partir de outras. II. Mostram o processo de como os objetos ou classes se comunicam, em geral, buscando um baixo acoplamento entre os objetos, apesar da comunicação que existe entre eles.
Os padrões de projeto Gof descritos em I e II são conhecidos, respectivamente, como
( ) Auxiliam somente projetos de arquiteturas mais simples. ( ) Facilitam a documentação e manutenção da arquitetura do software. ( ) Definem um vocabulário comum para a discussão de problemas e soluções de projeto.
Assinale a alternativa que apresenta a sequência correta de cima para baixo.