NEW
Font size
WorksheetsPADROES.24.2. Quiz 2 Parte 1
Total questions: 15
Worksheet time: 23mins
O padrão Factory é usado principalmente para:
Criar uma única instância de um objeto ao longo de toda a aplicação
Definir uma interface para a criação de objetos, mas deixar que subclasses decidam quais classes instanciar
Prover uma interface simples para interagir com sistemas complexos
Criar objetos de maneira compartilhada para economizar memória
Estabelecer uma relação entre um objeto e suas dependências
O padrão Command é adequado quando:
Deseja-se encapsular uma solicitação como um objeto, permitindo a parametrização de clientes
Precisamos criar várias instâncias de um objeto sem expor sua lógica interna
Queremos separar o comportamento de uma classe da sua implementação
Desejamos criar uma interface uniforme para diferentes tipos de coleções
Precisamos garantir que um objeto possua apenas uma única instância global
O padrão Bridge é utilizado quando:
Desejamos separar a abstração de uma implementação para que ambas possam evoluir separadamente
Precisamos compartilhar dados entre diferentes objetos sem duplicar memória
Queremos criar uma fachada simples para ocultar a complexidade de um sistema
Precisamos iterar sobre diferentes coleções de objetos de maneira uniforme
Desejamos encapsular a lógica de execução em comandos separados
Em qual situação o padrão Flyweight seria mais adequado?
Quando precisamos iterar sobre elementos de uma coleção
Quando desejamos minimizar o uso de memória ao compartilhar dados comuns entre objetos
O padrão Facade é usado para:
Facilitar o acesso a sistemas complexos oferecendo uma interface simplificada
Prover uma maneira eficiente de gerenciar diferentes estados de um objeto
Definir um relacionamento dinâmico entre objetos e suas dependências
Criar uma única interface que seja usada para classes relacionadas ou independentes
Encapsular a lógica de comando em objetos específicos
Qual das opções abaixo descreve corretamente o padrão Mediator?
Ele é usado para criar objetos que compartilham um estado comum
Ele organiza a comunicação entre objetos, evitando que eles se comuniquem diretamente
Ele cria objetos complexos passo a passo e separa sua construção de sua representação final
Ele permite que diferentes objetos possam trabalhar de forma independente, mas compartilhem a mesma interface
Ele transforma solicitações em comandos, permitindo a execução de ações desacopladas
Qual é o principal objetivo do padrão Command?
Garantir a comunicação eficiente entre diferentes objetos sem que eles estejam acoplados
Permitir que uma solicitação seja encapsulada como um objeto, tornando possível desfazer, refazer ou enfileirar comandos
Organizar a criação de objetos complexos usando passos controláveis
Dividir a abstração de uma classe de sua implementação
No padrão Bridge, a implementação e a abstração:
Estão fortemente acopladas
São separadas, permitindo que possam variar independentemente
Precisam ser implementadas em interfaces diferentes
Devem ser combinadas no mesmo objeto para otimizar o desempenho
São tratadas como uma única entidade, sem distinção
O padrão Flyweight é adequado para:
Compartilhar objetos que tenham estados intrínsecos semelhantes, otimizando o uso de memória
Gerenciar múltiplos estados de um objeto e alterná-los de forma dinâmica
Iterar eficientemente sobre uma coleção de objetos
Definir uma interface padrão para criar objetos sem expor sua complexidade interna
Organizar a criação de objetos de forma separada da lógica de sua aplicação
O padrão Facade oculta:
A interface pública de um objeto, tornando-a inacessível a outros sistemas
A complexidade de subsistemas internos, fornecendo uma interface simples para o cliente
As operações de criação de objetos complexos
A comunicação entre diferentes objetos que utilizam o padrão Observer
A capacidade de um sistema de manipular várias instâncias de objetos
O padrão Mediator é mais útil quando:
Precisamos minimizar a dependência direta entre múltiplos objetos
Precisamos otimizar a memória compartilhando objetos semelhantes
O padrão Factory é uma boa escolha quando:
Desejamos controlar e gerenciar a criação de objetos complexos de forma flexível
Precisamos garantir que um objeto tenha apenas uma instância global
Queremos compartilhar estados internos entre várias instâncias de um objeto
Queremos permitir que múltiplos objetos tratem a mesma solicitação de forma sequencial
Precisamos ocultar a complexidade de subsistemas através de uma interface simples
O padrão Command permite que:
A criação de objetos seja delegada a classes específicas
Um pedido seja encapsulado como um objeto, permitindo sua execução posterior
A comunicação entre objetos ocorra de forma indireta
Diferentes partes de uma aplicação compartilhem dados comuns sem duplicação
A lógica de criação de objetos complexos seja dividida em várias etapas
O padrão Flyweight visa otimizar:
O controle de fluxos de execução em diferentes estados
O compartilhamento de objetos que possuem grandes quantidades de dados
A criação de comandos dinâmicos e sua execução futura
O uso de memória através da reutilização de objetos semelhantes
A criação de interfaces de comunicação entre diferentes sistemas
O padrão Facade facilita:
A criação de uma interface uniforme para diferentes tipos de coleções
O encapsulamento do comportamento de um objeto e a criação de diferentes variações desse comportamento
O encapsulamento de comandos para permitir operações de desfazer e refazer
A interação com um sistema complexo através de uma interface simplificada
A comunicação entre diferentes subsistemas de forma independente
