

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Uma agência reguladora de transporte está desenvolvendo um sistema para processar solicitações de autorização de linhas interestaduais. O sistema precisa integrar-se com múltiplos provedores extemos de validação (ANTT, Receita Federal, sistemas estaduais) e garantir que a lógica de negócio central permaneça isolada dessas dependências externas. A equipe técnica busca implementar uma arquitetura que permita substituir ou adicionar novos adaptadores de integração sem modificar as regras de negócio. A abordagem arquitetural que melhor atende a esse requisito, considerando os princípios de baixo acoplamento e inversão de dependências, é:
Padrão Mediator do GOF estabelecendo um componente centralizador que coordena as interações entre a lógica de negócio e os diversos provedores externos, reduzindo o acoplamento direto através da comunicação intermediada por esse objeto coordenador.
Implementação baseada no padrão Facade do GOF, criando uma interface unificada que encapsula as complexidades dos subsistemas exiemos, permitindo que a camada de negócio acesse todos os provedores através de um único ponto de entrada simplificado e coeso.
Utilização do padrão Strategy do GOF combinado com Factory Method, onde cada provedor externo é representado por uma estratégia concreta que implementa a interface comum de validação, selecionada dinamicamente conforme o contexto da solicitação.
Arquitetura em camadas tradicionais com o padrão Repository do GOF na camada de acesso a dados, isolando as operações de persistência e consulta aos sistemas externos através de abstrações que ocultam os detalhes de implementação específicos de cada provedor.
Arquitetura Hexagonal (Ports and Adapters) onde a lógica de negócio define interfaces de porta (ports) para as operações necessárias, e os adaptadores (adapters) implementam essas interfaces conectando-se aos provedores extemos, mantendo o núcleo da aplicação independente de tecnologias específicas.
Durante a evolução de um sistema corporativo, identificou-se a necessidade de padronizar a criação de objetos responsáveis pelo acesso a diferentes bases de dados (Oracle e PostgreSQL), garantindo baixo acoplamento, facilidade de manutenção, possibilidade de substituição de tecnologias e aderência às boas práticas de engenharia de software. Considerando esse cenário e os princípios dos Design Patterns, assinale a alternativa que apresenta CORRETAMENTE o padrão de projeto para atender a esses requisitos.
Facade, pois simplifica o acesso aos bancos de dados ao fornecer uma interface única para operações complexas de persistência, eliminando a necessidade de múltiplas implementações.
Factory Method, pois permite encapsular a lógica de criação dos objetos de acesso a dados, promovendo desacoplamento entre o código cliente e as implementações concretas, facilitando a manutenção e a substituição de tecnologias de persistência.
Template Method, pois permite criar objetos de acesso a dados individualmente, porém não é suficiente para lidar com múltiplas famílias coerentes de objetos de persistência associadas a diferentes SGBDs.
Decorator, pois permite adicionar dinamicamente novas responsabilidades aos objetos de acesso a dados, como auditoria e controle de segurança, sem alterar suas classes originais.
Observer, pois possibilita que diferentes módulos do sistema sejam automaticamente notificados sempre que ocorrerem alterações nas conexões com os bancos de dados.
Padrões de Projeto (Design Patterns) são soluções reutilizáveis para problemas recorrentes no design de software. O padrão de projeto Observer (também chamado de Event Handler e de Publish–Subscribe) é amplamente utilizado em sistemas de software orientados a objetos, permitindo que objetos (observadores) sejam notificados automaticamente quando o estado de outro objeto (sujeito) muda. Uma característica essencial desse padrão de projeto é que ele
resolve problemas de desempenho e ordem de notificação, especialmente quando há cadeias de observadores que disparam atualizações recursivas.
reduz o acoplamento entre sujeito e observadores, pois o sujeito não precisa conhecer a classe concreta de cada observador, apenas a interface comum.
garante que os observadores recebam as notificações na mesma ordem em que foram registrados no sujeito, independentemente da implementação.
é eficiente quando o sujeito possui um estado grande e complexo e cada observador precisa de partes diferentes desse estado.
Em um framework extensível orientado a objetos, o núcleo do sistema define operações abstratas que dependem da criação de objetos responsáveis por executar etapas específicas do processamento. O framework não conhece previamente as classes concretas desses objetos, delegando às subclasses a responsabilidade de decidir qual implementação concreta será instanciada. Essa abordagem permite a introdução de novos comportamentos sem modificar o código do núcleo do framework. Considerando os padrões de projeto GoF, assinale a alternativa correta.
Adapter.
Strategy
Observer.
Factory Method.
Durante o projeto de um sistema orientado a objetos, uma equipe de desenvolvimento identificou que determinados problemas de projeto se repetem em diferentes partes do sistema. A equipe busca uma forma de lidar com essas situações recorrentes, para aumentar a manutenibilidade e a flexibilidade do software, sem comprometer as decisões de análise e modelagem já realizadas.
Nesse cenário, a ação mais adequada a ser adotada pela equipe é
adotar padrões de projeto como soluções reutilizáveis para problemas recorrentes de projeto, adaptando-os ao contexto do sistema.
substituir as etapas de análise e modelagem por padrões de projeto previamente definidos.
aplicar padrões de projeto apenas na fase de implementação, dispensando decisões de projeto.
utilizar padrões de projeto para garantir automaticamente desempenho e segurança elevados.
empregar padrões de projeto como estruturas fixas, independentemente dos requisitos do sistema.


Seu próximo nível começa aqui

Seu próximo nível começa aqui
Destrave a preparação completa para sua aprovação. Com a Assinatura Ilimitada, você estuda com os melhores professores do Brasil e todos os recursos Gran.
No catálogo GoF, o padrão de criação Singleton garante que haja somente uma instância para cada classe, com um único ponto de acesso a ela.
Certo
Errado
Considere as seguintes descrições, correspondentes ao conteúdo da seção “intenção” do catálogo de design patterns (padrões de projeto), e assinale a alternativa que completa correta e respectivamente as três lacunas, considerando sua ordem numérica destacada no texto.
1. _______________: incorpora responsabilidades adicionais a um objeto dinamicamente. Esse padrão fornece uma alternativa flexível à produção de subclasses para estender a funcionalidade.
2. _______________: provê um substituto ou espaço reservado a outro objeto, para controlar o acesso a este.
3. _______________: fornece uma interface unificada para um conjunto de interfaces em um subsistema. Esse padrão define uma interface de nível mais alto, que torna o subsistema mais fácil de usar.
1. Decorator (decorador); 2. Proxy (procurador); 3. Facade (fachada).
1. Adapter (adaptador); 2. Mediator (mediador); 3. Strategy (Estratégia).
1. Visitor (Visitante); 2. Bridge (ponte); 3. Strategy (Estratégia).
1. Decorator (decorador); 2. Bridge (ponte); 3. Mediator (mediador).
1. Adapter (adaptador); 2. Proxy (procurador); 3. Mediator (mediador).
A equipe de desenvolvimento precisa criar um mecanismo para garantir que o sistema de cache de documentos legislativos tenha apenas uma única instância ativa em toda a aplicação, de modo que todas as requisições acessem o mesmo recurso compartilhado, evitando inconsistência de dados.
O Padrão de Projeto da classificação GoF mais apropriado para resolver esse problema, restringindo a instanciação de uma classe a um único objeto, é o(a)
Factory Method
Builder
Observer
Singleton
Strategy
No padrão de projeto abstract factory, a inclusão de uma nova categoria de objeto em uma família de produtos já existente prescinde da alteração da interface da fábrica abstrata e de suas subclasses concretas.
Certo
Errado
Para desenvolver um módulo de notificações processuais conforme o perfil do réu, o sistema deve atender aos seguintes requisitos:
I. Instanciar diferentes tipos de alertas (e-mail, SMS, Push), permitindo a inclusão de novos tipos sem alteração do código existente;
II. Garantir que o registrador de logs possua uma única instância global;
III. Notificar automaticamente os objetos interessados sempre que o status de um processo for alterado.
Considerando os padrões de projeto GoF, apresenta a combinação correta e respectiva de padrões para atender a esses requisitos:
Factory Method, Proxy e Chain of Responsibility.
Factory Method, Singleton e Observer.
Prototype, Bridge e Strategy.
Builder, Facade e State.
Abstract Factory, Adapter e Command.


Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Uma empresa de software está desenvolvendo um kit de ferramentas de interface de usuário (UI) que deve funcionar corretamente tanto em Windows quanto em macOS. Cada sistema operacional possui seu próprio conjunto de componentes visuais (botões, menus, barras de rolagem, caixas de diálogo, etc.), com implementações e comportamentos específicos. O objetivo é permitir que o código cliente crie famílias completas de componentes compatíveis entre si, sem precisar conhecer ou depender das classes concretas de cada plataforma, evitando a mistura incorreta de elementos de sistemas operacionais diferentes (por exemplo, um botão do Windows com um menu do macOS). Assinale a alternativa que descreve o padrão de projeto do GoF (Gang of Four) que resolve esse problema de forma mais adequada:
Strategy, permite definir uma família de algoritmos, encapsulá-los e torná-los intercambiáveis, independentemente do cliente que os utiliza.
Singleton, garante que uma classe tenha apenas uma única instância e fornece um ponto global de acesso a ela.
Adapter, permite que interfaces incompatíveis trabalhem juntas, convertendo a interface de uma classe para outra esperada pelo cliente.
Abstract Factory, define uma interface para a criação de famílias de objetos relacionados ou dependentes, permitindo que o código cliente utilize apenas abstrações sem conhecer as classes concretas de cada família.
Observer, 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.
Considere uma associação pública responsável pelo desenvolvimento de sistemas utilizados por um consórcio de municípios. Em um módulo da aplicação, é necessário aplicar um padrão de projeto estrutural, cujo objetivo é permitir a composição de objetos de forma flexível, adicionando novas funcionalidades a um objeto já existente sem modificar sua estrutura original, de maneira dinâmica durante a execução do sistema. Nesse contexto, qual padrão de projeto atende à situação supracitada?
Observer.
Strategy.
Command.
Singleton.
Decorator.
Uma prefeitura está desenvolvendo um sistema para integrar um módulo de pagamentos legados, cujo formato de dados é incompatível com o novo subsistema de cobrança online. E necessário permitir que o novo subsistema utilize o módulo antigo sem modificá-lo diretamente. Nesse contexto, o padrão estrutural Gang of Four (GOF) que resolve de forma ideal o problema de integração entre interfaces incompatíveis é o
Adapter, pois converte a interface de uma classe para outra interface esperada pelos clientes, tornando possível a comunicação entre sistemas legados e novos.
Bridge, pois separa a abstração da implementação, permitindo que sistemas legados e novos se comuniquem de forma integrada.
Composite, pois organiza objetos em estruturas hierárquicas, tratando composições e objetos individuais de forma integrada, permitindo a comunicação entre sistemas legados e novos.
Facade, pois fornece uma interface unificada e simplificada para um conjunto complexo de subsistemas, tornando mais simples a comunicação entre sistemas legados e novos.
Flyweight, pois compartilha estado intrinseco para reduzir o consumo de memória quando há múltiplas instâncias semelhantes interagindo entre sistemas ou subsistemas.
O padrão de projeto Observer é adequado para situações em que um objeto precisa notificar automaticamente vários outros objetos a respeito de mudanças em seu estado, promovendo baixo acoplamento.
Certo
Errado
Leia a descrição a seguir.
Trata-se de um padrão que fornece uma interface para criar famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas, seja porque estas ainda são desconhecidas ou para permitir maior escalabilidade no futuro.
O padrão de projeto descrito é o:
Builder.
Singleton.
Abstract Factory.
Decorator.
Template Method.


Seu próximo nível começa aqui

Seu próximo nível começa aqui
Destrave a preparação completa para sua aprovação. Com a Assinatura Ilimitada, você estuda com os melhores professores do Brasil e todos os recursos Gran.
Mais conhecido como Design Patterns, que traduzido para o português significa padrões de projeto, são soluções reutilizáveis para problemas recorrentes encontrados durante o desenvolvimento de software. Os padrões de projetos são modelos ou estratégias que ajudam os desenvolvedores a projetarem sistemas robustos, performáticos, escaláveis, organizados e manuteníveis. Os padrões não são código pronto, mas diretrizes que podem ser adaptadas a diferentes situações, funcionando como soluções que contemplam problemas de software que vão além da linguagem de programação utilizada no projeto. Dentre esses padrões de projetos, por exemplo tem-se o Strategy. Desta forma, qual a finalidade do padrão de projeto Strategy?
Encapsula uma solicitação como um objeto, parametrizando métodos com diferentes solicitações, pondo em fila ou fazendo o registro de comandos, e oferecendo suporte a operações desfazer/refazer (undo/redo).
Separa a construção de um objeto complexo de sua representação, permitindo criar diferentes representações do mesmo objeto passo a passo durante a execução do código.
Define uma dependência "um-para-muitos", onde objetos são notificados automaticamente quando o estado de outro objeto sofre variação.
Define uma família de algoritmos que encapsula cada um e os torna intercambiáveis, podendo variar o comportamento do algoritmo em tempo de execução.
O padrão de projeto Singleton é utilizado para garantir que uma classe tenha somente uma instância e para fornecer um ponto global de acesso a essa instância.
Certo
Errado
Os Padrões de Projetos são soluções reutilizáveis para problemas recorrentes no desenvolvimento de software orientado a objetos. Entre os conjuntos mais influentes, estão os padrões GoF (Gang of Four) e os padrões GRASP (General Responsibility Assignment Software Patterns). Sabendo disso, assinale a alternativa que identifica CORRETAMENTE o padrão de projeto criacional do GoF, cuja principal finalidade é garantir que uma classe possua apenas uma única instância, fornecendo um ponto de acesso global a ela.
Observer.
Strategy.
Adapter.
Singleton.
Decorator.
Um analista de tecnologia da informação do IFPB está desenvolvendo um sistema informatizado que será utilizado por diversos setores da instituição. Durante a implementação, ele identifica que há uma classe que deve garantir que apenas uma instância seja criada em toda a aplicação, fornecendo um ponto de acesso global a essa instância.
Considerando os padrões de projeto (Design Patterns), é correto afirmar que o padrão criacional utilizado nessa situação foi o
Adapter.
Decorator.
Singleton.
Strategy.
Observer.
O conceito do padrão de projeto aplicado a software fornece um meio de auxiliar os desenvolvedores a alavancar o conhecimento de outros arquitetos talentosos e experientes.
No livro “Design Patterns: Elements of Reusable Object-Oriented Software”, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides introduzem os princípios de padrões de projetos e fornecem um catálogo bastante utilizado por desenvolvedores de software. Os padrões são conhecidos como Padrões GoF (Gang of Four), em referência aos quatro autores do livro.

O diagrama de sequência acima ilustra as colaborações entre objetos que possibilitam implementar qual padrão GoF?
State
Observer
Notify
Mediator
Singleton