Junior — Middle
A que grupo pertence o padrão 'Fábrica' no contexto do design de sistemas de software?
sobes.tech IA
Resposta da IA
O padrão "Fábrica" (Factory) pertence ao grupo de padrões de design criacionais. A sua principal tarefa é criar objetos, ocultando a lógica de sua criação e permitindo que o código cliente trabalhe com abstrações, em vez de com classes concretas.
Por exemplo, em PHP, pode-se usar uma fábrica para criar diferentes tipos de objetos dependendo dos parâmetros:
interface Logger {
public function log(string $message);
}
class FileLogger implements Logger {
public function log(string $message) {
// Escrita em ficheiro
}
}
class DatabaseLogger implements Logger {
public function log(string $message) {
// Escrita na base de dados
}
}
class LoggerFactory {
public static function create(string $type): Logger {
if ($type === 'file') {
return new FileLogger();
} elseif ($type === 'database') {
return new DatabaseLogger();
}
throw new Exception("Tipo de logger desconhecido");
}
}
$logger = LoggerFactory::create('file');
$logger->log('Mensagem');
Assim, a fábrica encapsula a criação de objetos e simplifica a expansão e manutenção do código.