Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

Material 51: Engenharia de Software - Padrões de Projeto 
 
 
Questão 1: 
O que são padrões de projeto (design patterns) em engenharia de software? 
a) Modelos de banco de dados. 
b) Soluções reutilizáveis para problemas recorrentes de projeto de software orientado a 
objetos, que visam melhorar a flexibilidade, a manutenibilidade e a reusabilidade do código. 
c) Linguagens de programação. 
d) Metodologias de desenvolvimento de software. 
e) Diagramas UML. 
Resposta: b) 
Questão 2: Quais as três principais categorias de padrões de projeto Gang of Four (GoF)? 
Resposta: Os padrões de projeto GoF (definidos no livro "Design Patterns: Elements of 
Reusable Object-Oriented Software") são classificados em três categorias principais: 
1. Criacionais (Creational): Tratam da criação de objetos, abstraindo o processo de 
instanciação e tornando o sistema mais independente da forma como seus objetos 
são criados, compostos e representados. Exemplos: Abstract Factory, Factory 
Method, Singleton, Builder, Prototype. 
2. Estruturais (Structural): Tratam da composição de classes e objetos para formar 
estruturas maiores, simplificando o design e identificando relações entre entidades. 
Exemplos: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy. 
3. Comportamentais (Behavioral): Tratam da interação e da responsabilidade entre 
objetos, definindo padrões de comunicação e algoritmos. Exemplos: Chain of 
Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, 
Strategy, Template Method, Visitor. 
Questão 3: 
Qual padrão de projeto GoF garante que uma classe tenha apenas uma instância e fornece 
um ponto global de acesso a ela? 
a) Factory Method 
b) Abstract Factory 
c) Singleton 
d) Observer 
e) Strategy 
Resposta: c) 
Questão 4: 
Qual padrão de projeto GoF define uma interface para criar famílias de objetos relacionados 
ou dependentes sem especificar suas classes concretas? 
a) Factory Method 
b) Abstract Factory 
c) Singleton 
d) Builder 
e) Prototype 
Resposta: b) 
Questão 5: 
Qual padrão de projeto GoF permite que um objeto altere seu comportamento quando seu 
estado interno muda? 
a) Strategy 
b) State 
c) Observer 
d) Template Method 
e) Command 
Resposta: b) 
Questão 6: Qual padrão de projeto GoF define uma família de algoritmos, encapsula cada um 
deles e os torna intercambiáveis? 
a) State b) Observer c) Strategy d) Template Method e) Command 
Resposta: c) 
Questão 7: Qual padrão de projeto GoF define uma dependência um-para-muitos entre 
objetos, de modo que, quando um objeto muda de estado, todos os seus dependentes são 
notificados e atualizados automaticamente? 
a) Strategy 
b) State 
c) Observer 
d) Template Method 
e) Command 
Resposta: c) 
Questão 8: Descreva, em até 5 linhas, o padrão de projeto Factory Method. 
Resposta: O padrão Factory Method é um padrão criacional que define uma interface 
(método fábrica) para criar objetos, mas permite que as subclasses decidam qual classe 
instanciar. Ele delega a responsabilidade de instanciação para as subclasses, promovendo o 
desacoplamento entre o código cliente (que usa o objeto) e a classe concreta do objeto 
criado. É útil quando a classe do objeto a ser criado pode variar ou quando se deseja 
centralizar a lógica de criação. 
Questão 9: Explique o padrão de projeto Adapter. 
Resposta: O padrão Adapter (também conhecido como Wrapper) é um padrão estrutural que 
permite que interfaces incompatíveis trabalhem juntas. Ele converte a interface de uma 
classe existente em outra interface esperada pelo cliente, sem modificar a classe original. É 
como um adaptador de tomada: permite que um dispositivo com um tipo de plugue se 
conecte a uma tomada com um formato diferente. O Adapter é útil para integrar sistemas 
legados, bibliotecas de terceiros ou classes com interfaces diferentes. 
Questão 10: O que é o padrão MVC (Model-View-Controller)? 
Resposta: MVC (Model-View-Controller) é um padrão de arquitetura de software (não é um 
padrão GoF) amplamente utilizado para desenvolver interfaces de usuário que divide a 
aplicação em três componentes interconectados: 
• Model (Modelo): Representa os dados da aplicação e a lógica de negócio. É 
responsável por acessar e manipular os dados (ex: banco de dados). 
• View (Visão): Responsável pela apresentação dos dados ao usuário (interface 
gráfica). Exibe os dados do Model e permite a interação do usuário. 
• Controller (Controlador): Recebe as entradas do usuário (através da View), processa-
as, atualiza o Model (se necessário) e escolhe a View a ser exibida. Atua como 
intermediário entre o Model e a View. 
O MVC promove a separação de responsabilidades, facilitando a manutenção, o teste e a 
reutilização do código.