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

Factory 
 
O padrão Factory é um dos padrões de design criacionais que se destaca pela sua 
capacidade de criar objetos de forma flexível e escalável. Ele permite a criação de 
objetos sem especificar a classe exata do objeto que será criado, encapsulando a 
lógica de instância dentro de uma classe de fábrica. O padrão Factory é especialmente 
útil quando o sistema precisa ser extensível e os objetos a serem criados podem 
variar. Abaixo, apresento uma série de perguntas sobre o padrão Factory, incluindo 
uma pergunta discursiva e três de múltipla escolha.
Pergunta Discursiva: 
1. O que é o padrão Factory, quais são suas principais variações e como ele 
pode ser implementado em um sistema? Forneça um exemplo prático de 
uso do padrão Factory em um contexto de desenvolvimento de software.
Resposta: O padrão Factory é um padrão de design criacional que fornece 
uma maneira de criar objetos sem especificar a classe exata do objeto que 
será instanciado. Ele encapsula a lógica de criação de objetos em uma classe 
de fábrica, permitindo que o sistema decida qual classe de objeto instanciar 
em tempo de execução. Isso é útil em situações onde o sistema precisa ser 
flexível e capaz de lidar com diferentes tipos de objetos que compartilham 
uma interface comum.
Existem duas variações principais do padrão Factory: o Factory Method e a 
Abstract Factory. O Factory Method é um método definido em uma classe 
base que é responsável por instanciar um objeto, enquanto a Abstract 
Factory fornece uma interface para criar famílias de objetos relacionados 
sem especificar suas classes concretas.
A implementação do padrão Factory geralmente envolve a criação de uma 
interface ou classe abstrata para os produtos, classes concretas que 
implementam essa interface e uma classe de fábrica que encapsula a lógica 
de criação dos objetos. Abaixo está um exemplo simples em Java que 
demonstra o uso do padrão Factory:
java
// Interface do Produto public interface Vehicle { void 
drive(); } // Classe concreta do Produto public class Car 
implements Vehicle { @Override public void drive() { 
System.out.println("Driving a car."); } } // Outra 
classe concreta do Produto public class Bike implements 
af://n4537
af://n4540
Vehicle { @Override public void drive() { 
System.out.println("Riding a bike."); } } // Classe de 
Fábrica public class VehicleFactory { public static 
Vehicle createVehicle(String type) { switch 
(type.toLowerCase()) { case "car": 
return new Car(); case "bike": 
return new Bike(); default: throw 
new IllegalArgumentException("Unknown vehicle type."); 
} } } // Uso do padrão Factory public class Main { 
public static void main(String[] args) { Vehicle 
myCar = VehicleFactory.createVehicle("car"); 
myCar.drive(); // Saída: Driving a car. Vehicle 
myBike = VehicleFactory.createVehicle("bike"); 
myBike.drive(); // Saída: Riding a bike. } }
Neste exemplo, a interface Vehicle define o contrato para os produtos, e as 
classes Car e Bike são implementações concretas desse contrato. A classe 
VehicleFactory contém um método estático createVehicle, que recebe 
um tipo e retorna a instância correspondente. Isso encapsula a lógica de 
criação e permite que o cliente obtenha o tipo desejado de veículo sem 
precisar saber sobre as classes concretas.
Um exemplo prático do uso do padrão Factory pode ser encontrado em 
sistemas de gerenciamento de pedidos, onde diferentes tipos de pedidos 
(por exemplo, pedidos de produtos físicos, pedidos digitais, etc.) podem ser 
criados. O padrão Factory permite que o sistema crie objetos de pedido sem 
precisar conhecer os detalhes de implementação de cada tipo de pedido, 
facilitando a manutenção e a expansão do sistema.
Perguntas de Múltipla Escolha: 
2. Qual é o principal benefício do padrão Factory?
A) Permitir a criação de objetos com base em condições externas.
B) Reduzir o número de classes em um sistema.
C) Facilitar o teste de unidades de classes concretas.
D) Encapsular a lógica de criação de objetos e aumentar a 
flexibilidade do código.
Resposta: D) Encapsular a lógica de criação de objetos e aumentar a 
flexibilidade do código.
3. Qual das seguintes afirmações é verdadeira sobre o padrão Factory?
A) O padrão Factory sempre cria instâncias de uma única classe.
af://n4551
B) O padrão Factory permite que o código do cliente dependa de 
classes concretas.
C) O padrão Factory pode ser usado para desacoplar a criação de 
objetos de sua implementação.
D) O padrão Factory é um padrão de design que não pode ser usado 
em linguagens tipadas estaticamente.
Resposta: C) O padrão Factory pode ser usado para desacoplar a criação de 
objetos de sua implementação.
4. Qual é uma variação do padrão Factory que permite a criação de famílias 
de produtos relacionados?
A) Singleton
B) Builder
C) Abstract Factory
D) Prototype
Resposta: C) Abstract Factory.
Essas perguntas cobrem os aspectos fundamentais do padrão Factory, incluindo 
sua definição, benefícios, variações e aplicações práticas no desenvolvimento de 
software.

Mais conteúdos dessa disciplina