Buscar

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS EM ANDROID

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS EM ANDROID
1. Em relação à hierarquia de componentes nativos, é correto afirmar que:
A. Embora os componentes possam ser usados como contêiner de outros, há uma restrição para essa regra em relação ao componente View, que só pode ser utilizado para outros componentes do mesmo tipo
B. A hierarquia de componentes em React Native é bastante flexível. Com isso, é possível utilizar em conjunto diferentes componentes, inclusive como contêineres de outros componentes.
C. A regra de hierarquias ou de componentes que podem ser utilizados em conjunto é bastante flexível. Entretanto, no caso de componentes de diferentes tipos serem utilizados em conjunto, não é possível estilizá-los individualmente, havendo apenas a possibilidade de que os filhos herdem os mesmos estilos dos elementos-pai.
D. Um componente só pode ser contêiner de outros componentes do mesmo tipo.
E. Um componente não pode ser usado como contêiner. Consequentemente, ele não pode ter nenhum outro componente aninhado em si.
2. Em relação ao ambiente de programação para dispositivos móveis, marque a alternativa verdadeira.
A. A utilização de gerenciadores de pacotes facilita a configuração do ambiente de desenvolvimento. Com eles, nenhuma configuração se faz necessária em termos de softwares ou mesmo de configurações no sistema operacional.
B. Quando utilizamos o Expo CLI para criarmos nossas aplicações, não é possível, em um mesmo computador/ambiente, criar aplicações utilizando o React Native CLI.
C. O Android Studio é a única IDE que pode ser usada para a codificação de aplicativos em React Native.
D. É possível existir um ambiente de desenvolvimento heterogêneo, não havendo restrições quanto à utilização apenas de um gerenciador de pacotes, de uma mesma IDE ou mesmo de uma única forma de desenvolver e testar nossos aplicativos.
E. Para testar aplicativos Android, é necessário ter um dispositivo móvel que utilize tal sistema operacional.
3. Indique qual afirmativa está correta em relação aos componentes de lista disponíveis em React Native.
A. Os componentes de lista são containers simples, como as View, com a única diferença de que permitem a exibição, dentro de um laço de repetição, usando o código JS com o componente React, de seu conteúdo.
B. Os componentes de lista são elementos otimizados para a exibição de dados nesse formato, possuindo diversas otimizações, que vão desde o consumo de memória até a renderização e a atualização da janela para a exibição dos itens.
C. Os componentes de lista disponíveis só podem ser utilizados individualmente, não sendo possível a combinação deles ou até a utilização de um mesmo tipo de forma aninhada.
D. Os componentes de lista só permitirão a exibição de dados desde que seja possível determinar, antes da renderização deles, sua quantidade
E. Embora sejam otimizados em relação à adaptação da janela de rolagem, os componentes de lista possuem problemas de performance no que diz respeito ao consumo de memória
4. O Stack Navigator permite criar uma ''pilha de telas''. Em relação a seu modelo de navegação, é correto afirmar:
A. Os botões de navegação nesse modelo ficam, por padrão, alocados na parte inferior da tela.
B. A navegação no modelo Stack Navigator é realizada apenas por meio do botão de voltar no topo da tela.
C. O Stack Navigator permite a navegação pelas telas do aplicativo por meio do método ''navigate'' ou do botão de voltar, inserido por default no topo de cada tela. Com isso, é possível acessar qualquer uma das telas que tenha sido incluída em seus ''screens''.
D. Após navegar para determinada tela, não é possível voltar à tela anterior sem antes recarregar todo o aplicativo.
E. As opções de navegação ficam dispostas em um menu, que, por padrão, fica escondido à esquerda da tela.
5. Observe o fragmento de código apresentado a seguir, parte de um aplicativo criado na plataforma React Native.
openDatabase ( { name : " Escola.db " , location : " default " ) ) .then ( 
( db ) = > db.transaction (
( tx ) = > tx.executeSql(
 " INSERT INTO ALUNOS (MATRICULA, NOME 
" VALUES (?,? ) ", [ 120076, " Luiz Paulo " ]) 
) 
) ;
Qual será o resultado da execução desse trecho de código?
A. Uma conexão será obtida de forma assíncrona, sendo utilizada, a seguir, para iniciar uma transação e, a partir dela, inserir um registro no banco de dados.
B. Será efetuada uma conexão com o banco de dados, configurado para o arquivo ''Escola.db'', e na sequência a tabela ALUNOS é gerada no banco.
C. Uma conexão será obtida de forma síncrona, sendo utilizada, em seguida, para gerar uma transação e, a partir dela, alterar os dados do aluno 120076.
D. Será criado um banco de dados com o nome ALUNOS, e na sequência os registros 120076 e ''Luiz Paulo'' serão removidos da tabela ''Escola.db''.
E. Será criada uma tabela com o nome ''Escola.db'', sendo inserido um registro com o nome ALUNOS, e valores indefinidos, devido ao uso de interrogações.
6. O banco de dados Realm é manuseado, no React Native, a partir de uma classe com o mesmo nome, concentrando todos os métodos necessários para consultar e modificar os objetos de qualquer coleção incluída no esquema de criação. Qual método da classe Realm seria utilizado para acrescentar um objeto a uma coleção do banco?
A. Create
B. beginTransaction 
C. commitTransaction
D. write
E. objectForPrimaryKey
7. ''Na comunicação com recursos remotos, é uma alternativa à XML para representar os dados transferidos; comumente utilizado em aplicativos que fazem uso de requisições Ajax. Seus objetos são representados como uma lista de nomes e valores de propriedade entre colchetes. Trata-se de um formato simples que facilita leitura, criação e análise de objetos e, ainda, permite que programas transmitam dados eficientemente pela internet.'' Trata-se de:
A. POJO - Plain Old Java Object.
B. SOAP - Simple Object Access Protocol.
C. JSON - JavaScript Object Notation.
D. VO - Value Object.
E. REST - Representational State Transfer.
8. Assinale a alternativa abaixo que complementa corretamente a frase: ''O uso de conexão remota, de recursos externos, permite enriquecer os aplicativos mobile. Por outro lado, alguns cuidados precisam ter tomados, como ... ''
A. Somente utilizar o aplicativo quando se estiver conectado à internet.
B. Testar diariamente as APIs externas para ver se estão funcionando.
C. Informar ao usuário que o aplicativo faz uso de recursos externos.
D. Usar apenas APIs remotas próprias.
E. Utilizar uma abordagem Offline First a fim de garantir que o aplicativo funcione mesmo sem conexão à internet.
9. Entre os requisitos de segurança da plataforma Android, atualmente não é aceitável que o mesmo IV seja utilizado na geração sequencial de chaves. Ao utilizar a biblioteca CryptoJS, portada para React Native de sua verão NodeJS, qual comando seria utilizado para criar um IV formado por valores aleatórios?
A. CryptoJS.lib.WordArray.random(16)
B. CryptoJS.lib.generateIV(128/8)
C. CryptoJS.IV.getVector(128)
D. CryptoJS.lib.ByteArray.createIV([128,16])
E. CryptoJS.lib.IV.createFrom(''randomBytes'')
10. Ao efetuar a persistência em banco de dados, pode ser necessário ocultar informações de determinado scampos, com a possibilidade de recuperação posterior, ou seja, devem ser adotados algoritmos de criptografia simétrica, em que o AES tem sido a principal opção para as plataformas móveis mais populares. Tendo como base a biblioteca CryptoJS, como podemos utilizar o algoritmo AES no desenvolvimento com React Native?
A. É necessário instanciar um objeto do tipo Cipher, com a passagem do algoritmo AES, chave e IV, e utilizar os métodos encrypt e decrypt do objeto.
B. Precisamos utilizar o método digestStringAsync, fornecendo chave AES e IV, tanto para a criptografia quanto para a recuperação da informação
C. Não é possível trabalhar com o algoritmo AES no React Native, pois a biblioteca CryptoJS não fornece um gestor apropriado para ele.
D. Devemos invocar o método encrypt, fornecendo o valor original, chave AES e IV, ou o método decrypt, com o valor criptografado,chave e IV, sempre por meio do módulo AES
E. Basta invocar a classe Base64, pois os valores já são codificados no formato AES.
PROVA 2
1. Em relação à hierarquia de componentes nativos, é correto afirmar que:
A. Um componente só pode ser contêiner de outros componentes do mesmo tipo.
B. A regra de hierarquias ou de componentes que podem ser utilizados em conjunto é bastante flexível. Entretanto, no caso de componentes de diferentes tipos serem utilizados em conjunto, não é possível estilizá-los individualmente, havendo apenas a possibilidade de que os filhos herdem os mesmos estilos dos elementos-pai
C. A hierarquia de componentes em React Native é bastante flexível. Com isso, é possível utilizar em conjunto diferentes componentes, inclusive como contêineres de outros componentes.
D. Um componente não pode ser usado como contêiner. Consequentemente, ele não pode ter nenhum outro componente aninhado em si
E. Embora os componentes possam ser usados como contêiner de outros, há uma restrição para esse regra em relação ao componente View, que só pode ser utilizado para outros componentes do mesmo tipo.
2. Em relação ao ambiente de programação para dispositivos móveis, marque a alternativa verdadeira.
A. Para testar aplicativos Android, é necessário ter um dispositivo móvel que utilize tal sistema operacional.
B. A utilização de gerenciadores de pacotes facilita a configuração do ambiente de desenvolvimento. Comeles, nenhuma configuração se faz necessária em termos de softwares ou mesmo de configurações no sistema operacional.
C. Quando utilizamos o Expo CLI para criarmos nossas aplicações, não é possível, em um mesmo computador/ambiente, criar aplicações utilizando o React Native CLI.
D. É possível existir um ambiente de desenvolvimento heterogêneo, não havendo restrições quanto à utilização apenas de um gerenciador de pacotes, de uma mesma IDE ou mesmo de uma única forma de desenvolver e testar nossos aplicativos.
E. O Android Studio é a única IDE que pode ser usada para a codificação de aplicativos em React Native.
3. Indique qual afirmativa está correta em relação aos componentes de lista disponíveis em React Native.
A. Os componentes de lista disponíveis só podem ser utilizados individualmente, não sendo possível a combinação deles ou até a utilização de um mesmo tipo de forma aninhada.
B. Os componentes de lista são containers simples, como as View, com a única diferença de que permitem a exibição, dentro de um laço de repetição, usando o código JS com o componente React, de seu conteúdo.
C. Os componentes de lista são elementos otimizados para a exibição de dados nesse formato, possuindo diversas otimizações, que vão desde o consumo de memória até a renderização e a atualização da janela para a exibição dos itens.
D. Embora sejam otimizados em relação à adaptação da janela de rolagem, os componentes de lista Possuem problemas de performance no que diz respeito ao consumo de memória.
E. Os componentes de lista só permitirão a exibição de dados desde que seja possível determinar, antes da renderização deles, sua quantidade
4. O Stack Navigator permite criar uma ''pilha de telas''. Em relação a seu modelo de navegação, é correto a firmar:
A. Após navegar para determinada tela, não é possível voltar à tela anterior sem antes recarregar todo o aplicativo
B. A navegação no modelo Stack Navigator é realizada apenas por meio do botão de voltar no topo da tela
C. As opções de navegação ficam dispostas em um menu, que, por padrão, fica escondido à esquerda da tela.
D. Os botões de navegação nesse modelo ficam, por padrão, alocados na parte inferior da tela.
E. O Stack Navigator permite a navegação pelas telas do aplicativo por meio do método ''navigate'' ou dobotão de voltar, inserido por default no topo de cada tela. Com isso, é possível acessar qualquer umadas telas que tenha sido incluída em seus ''screens''.
5. Observe o fragmento de código apresentado a seguir, parte de um aplicativo criado na plataforma React Native.
openDatabase ( { name : " Escola.db " , location : " default " ) ) .then ( 
( db ) = > db.transaction (
( tx ) = > tx.executeSql(
 " INSERT INTO ALUNOS (MATRICULA, NOME 
" VALUES (?,? ) ", [ 120076, " Luiz Paulo " ]) 
) 
) ;
Qual será o resultado da execução desse trecho de código?
A. Uma conexão será obtida de forma assíncrona, sendo utilizada, a seguir, para iniciar uma transação e, a partir dela, inserir um registro no banco de dados.
B. Será efetuada uma conexão com o banco de dados, configurado para o arquivo ''Escola.db'', e na sequência a tabela ALUNOS é gerada no banco.
C. Uma conexão será obtida de forma síncrona, sendo utilizada, em seguida, para gerar uma transação e, a partir dela, alterar os dados do aluno 120076.
D. Será criado um banco de dados com o nome ALUNOS, e na sequência os registros 120076 e ''Luiz Paulo'' serão removidos da tabela ''Escola.db''.
E. Será criada uma tabela com o nome ''Escola.db'', sendo inserido um registro com o nome ALUNOS, e valores indefinidos, devido ao uso de interrogações.
6. O banco de dados Realm é manuseado, no React Native, a partir de uma classe com o mesmo nome, concentrando todos os métodos necessários para consultar e modificar os objetos de qualquer coleção incluída no esquema de criação. Qual método da classe Realm seria utilizado para acrescentar um objeto a uma coleção do banco?
A. Create
B. beginTransaction 
C. commitTransaction
D. write
E. objectForPrimaryKey
7. No contexto do modelo Offline First, uma interface otimista pode ser definida como uma interface que:
A. Seja agradável de utilizar, possuindo um conjunto de cores e elementos visuais que chamem a atenção do usuário.
B. Forneça elementos de interação que deem ao usuário a sensação de que a aplicação realizou uma tarefa que dependa de recursos remotos, mesmo sem que tal comunicação já tenha sido concluída.
C. Funcione da mesma forma quando o dispositivo esteja ou não conectado à internet.
D. Possui elementos de interação, como títulos de botões e textos que contenham frases amigáveis, utilizados como resposta a requisições feitas a recursos remotos.
E. Implementa recursos de acessibilidade.
8. O HTTP é um protocolo da camada de Aplicação do modelo OSI (acrônimo do inglês Open System Interconnection). O HTTP, base para a comunicação Web, define em sua estrutura um conjunto de métodos de requisição. Marque a opção abaixo que corresponda a um dos métodos HTTP:
A. PUT
B. STP
C. . POP
D. RSTP
E. IMAP
9. Ao efetuar a persistência em banco de dados, pode ser necessário ocultar informações de determinados campos, com a possibilidade de recuperação posterior, ou seja, devem ser adotados algoritmos de criptografia simétrica, em que o AES tem sido a principal opção para as plataformas móveis mais populares. Tendo como base a biblioteca CryptoJS, como podemos utilizar o algoritmo AES no desenvolvimento com React Native?
A. É necessário instanciar um objeto do tipo Cipher, com a passagem do algoritmo AES, chave e IV, e utilizar os métodos encrypt e decrypt do objeto.
B. Devemos invocar o método encrypt, fornecendo o valor original, chave AES e IV, ou o método decrypt,com o valor criptografado, chave e IV, sempre por meio do módulo AES.
C. Não é possível trabalhar com o algoritmo AES no React Native, pois a biblioteca CryptoJS não fornece um gestor apropriado para ele.
D. Basta invocar a classe Base64, pois os valores já são codificados no formato AES.
E. Precisamos utilizar o método digestStringAsync, fornecendo chave AES e IV, tanto para a criptografia quanto para a recuperação da informação.
10. Entre os requisitos de segurança da plataforma Android, atualmente não é aceitável que o mesmo IV seja utilizado na geração sequencial de chaves. Ao utilizar a biblioteca CryptoJS, portada para React Native de sua verão NodeJS, qual comando seria utilizado para criar um IV formado por valores aleatórios?
A. CryptoJS.lib.WordArray.random(16)
B. CryptoJS.lib.generateIV(128/8)
C. CryptoJS.IV.getVector(128)
D. CryptoJS.lib.ByteArray.createIV([128,16])
E. CryptoJS.lib.IV.createFrom(''randomBytes'')Prova 3
1. O React Native facilita o desenvolvimento híbrido de aplicações mobile. Aponte a alternativa correta em relação aos benefícios apresentados por ele
A. Os aplicativos desenvolvidos em React Native não são aplicativos mobile reais, e sim aplicativa web que rodam nos navegadores dos dispositivos móveis, o que lhes confere grande velocidade de execução.
B. Os aplicativos desenvolvidos em React Native utilizam uma linguagem de alto nível que é compilada, em tempo de execução, para as linguagens nativas das plataformas Android e iOS.
C. A curva de aprendizagem para utilização do framework é grande, pois ele faz uso de uma linguagem de programação específica: o JSX.
D. O React Native foi criado pela Google com o objetivo de concorrer com o framework React.js desenvolvimento pelo Facebook
E. Ao utilizar React Native, é possível desenvolver um único código, que será, em sua maior parte, compatível com as plataformas Android e iOS.
2. Há duas formas para se instalar um pacote utilizando o NPM: local e global. Marque a alternativa correspondente ao comando para instalação local do Expo Cli.
A. npm install expo-cli local
B. npm install expo-cli
C. install expo-cli
D. local install expo-cli
E. npx init expo-cli
3. Em uma SectionList, uma propriedade define o ''agrupador'' ou definidor de cada seção a ser exibida. Indique a alternativa que corresponde a esse elemento
A. renderItem
B. keyExtractor
C. data
D. sections
E. renderSectionHeader
4. Um botão é um elemento de interação que permite ao usuário executar algumas ações ao pressioná-lo. Há alguns componentes disponíveis em React Native com essa função. A respeito deles, escolha a alternativa correta
A. O componente Button é o que possui a melhor capacidade de ser estilizado, o que permite a alteração completa de sua aparência.
B. O framework React Native possui vários componentes nativos cuja função é permitir a interação do usuário por intermédio do toque/pressionamento sobre tais componentes. Entre as opções disponíveis, devemos dar preferência ao Pressable.
C. A principal limitação desses componentes em React Native é o fato de eles não permitirem a inclusão de ícones com os títulos que indicam a função do componente. 
D. Embora estejam disponíveis alguns componentes nativos, como o Pressable, o Button e o TouchableHighLight, entre outros, nem todos estão disponíveis para as plataformas Android e iOS.
E. Os componentes do tipo Pressable, em React Native, permitem ao usuário realizar uma série de ações, exceto controlar outros componentes, como, por exemplo, abrir ou fechar uma janela modal
5. As bases de dados NoSQL podem oferecer diferentes formas de armazenamento e representação de dados, normalmente sem um esquema fixo, motivo pelo qual temos a classificação de seus dados como semiestruturados. Qual das opções apresentadas a seguir se refere a um banco de dados NoSQL baseado em documentos?
A. Google Big Quey
B. Hbase
C. SQL Lite
D. MongoDB
E. Neo4J
6. Considere o trecho de código apresentado a seguir, em que db é um objeto da classe Realm, e a conexão com o banco de dados já está aberta.
db.write ( ( ) = > {
let obj = db.objectForPrimaryKey < Aluno > ( " Aluno " ,: 
obj.nome = " Ana Maria " ; 
obj.sala = " 102E " ; } ) ;
Qual será o resultado da execução desse trecho de código?
A. São excluídos do banco todos os alunos com nome ''Ana Maria'' ou que estudem na sal a ''102E''.
B. A tabela Aluno é criada, com 2012981 bytes, sendo incluído, em seguida, o aluno com nome "Ana Maria" e alocado na sala ''102E''.
C. Um aluno é adicionado à coleção existente no banco de dados.
D. Uma pesquisa na coleção de alunos, com filtragem pelo nome e pela sala. 
E. Um aluno é recuperado a partir da chave, tendo seu nome e sala alterados.
7. Em um aplicativo desenvolvido seguindo o modelo Offline First, é uma boa prática executar o fluxo de sincronização
A. Após o aplicativo ser encerrado e em ''background''. Com isso é possível otimizar o processo e poupar recursos.
B. Antes do aplicativo ser iniciado. Dessa forma é possível armazenar localmente uma cópia atualizada dos dados.
C. Sob demanda do usuário, deixando sob seu controle tal ação.
D. No momento em que o aplicativo se conectar pela primeira vez à internet e, posteriormente, de forma periódica durante o seu uso
E. De forma periódica e previamente definida, independente do aplicativo estar em uso ou não. Por ex.: de 15 em 15 minutos
8. O desenvolvimento de um aplicativo multiusuário, considerando o modelo Offline First, faz com que alguns cuidados extras sejam tomados, como a identificação correta do usuário. Isso porque:
A. Cada usuário tem um gosto diferente. Logo, as telas do aplicativo, além de otimistas, precisam agradar a cada um de seus usuários.
B. Os dados, no modelo Offline First, são armazenados localmente e posteriormente sincronizados com os dados existentes remotamente. Não identificar o usuário relativo a cada dado geraria inconsistência nos mesmos, uma vez que não seria possível identificar o responsável por cada informação, por exemplo.
C. Para funcionar corretamente, o aplicativo precisa vincular e armazenar o token de acesso recebido a casa usuário logado.
D. A autenticação é individual. Logo, as credenciais para acesso aos recursos remotos variam de usuário para usuário.
E. Cada usuário tem suas próprias preferências. Logo, cada um poderá optar por sincronizar os dados em momentos distintos
9. Técnicas formais para execução de testes e análise de performance devem ser utilizadas para a garantia da qualidade do produto. Alguns problemas comuns estão relacionados ao tempo de resposta, outros ao consumo de memória, e há ainda os fatores de usabilidade do produto. Qual das alternativas define um problema relacionado ao consumo de memória?
A. promise rejection
B. deadlock
C. format exception
D. starvation
E. memory leak
10. Muitas vezes, precisamos testar a conexão com um banco de dados ou servidor na rede, antes que ele seja implementado. Qual instrumento de programação poderia ser utilizado para viabilizar os testes na situação descrita?,
A. Componente mock
B. função test
C. operador toEqual
D. função expect
E. modificador async
Prova 3
1. Analise o propósito a seguir:
''Permitir que um único processo de construção possa ser utilizado para construir diferentes representações deum objeto complexo ao implementar a representação do objeto e o processo da sua construção em classesseparadas''.
Assinale a alternativa com o nome do padrão que possui esse propósito:
A. Singleton
B. Abstract Factory
C. Factory Method
D. Prototype
E. Builder
2. Você deseja criar um objeto complexo formado por diferentes partes. Para isso, você define uma interface abstrata responsável com operações representando a criação dessas partes, permitindo que as implementações concretas dessa interface criem diferentes representações dessas partes. Qual padrão de projeto você utilizaria nessa situação?
A. Singleton
B. Prototype
C. Abstract Factory
D. Factory Method
E. Builder

Outros materiais