Padrões de projeto são inspirados em uma ideia proposta pelo arquiteto (de construções civis) e professor da Universidade de Berkeley chamado Cristopher Alexander. Em 1977, Alexander lançou um livro intitulado “A Patterns Language”, no qual documenta diversos padrões para construção de cidades e prédios. Segundo Alexander:
“Cada padrão descreve um problema que sempre ocorre em nosso contexto e uma solução para ele, de forma que possamos usá-la um milhão de vezes”.
Em 1995, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides lançaram um livro adaptando as ideias de Alexander para o mundo de desenvolvimento de software e propondo um catálogo com soluções para resolver problemas recorrentes em projeto de software. Eles deram o nome de Padrões de Projeto às soluções propostas no livro.
Adaptado de Marco Tulio Valente. Engenharia de Software Moderna: Princípios e Práticas para Desenvolvimento de Software com Produtividade, Editora: Independente, 2020.
Tendo por contexto os conceitos apresentados no texto, discorra sobre:
A) as semelhanças e as diferenças entre os conceitos de Proxy, de Decorator e de Visitor;
B) padrões de projeto que ajudam a tornar uma classe aberta a extensões, sem que seja preciso modificar o seu código fonte; e
C) mecanismos para incrementar a coesão de uma classe, ou seja, que fazem com que a classe tenha Responsabilidade Única.
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
Texto I
A programação orientada a objetos (POO) é um paradigma de programação que preza pela organização do código em torno de objetos, que representam entidades do mundo real e possuem características e comportamentos. Por esse motivo, é considerado um dos paradigmas mais populares e utilizados na indústria de desenvolvimento de software.
Texto II
O código-fonte a seguir mostra a versão cliente de uma aplicação estruturada na arquitetura cliente-servidor, desenvolvido em Python.

Considerando as informações apresentadas no texto e no código-fonte em Python, elabore um texto dissertativo e argumentativo sobre orientação a objetos e redes de computadores abordando, necessariamente, os seguin…
O Máximo Divisor Comum (MDC) de dois ou mais números inteiros, positivos e diferentes de zero é o maior (máximo) número inteiro que divide simultaneamente esses dois ou mais números. Os exemplos a seguir ilustram o cálculo do MDC.
| Números | MDC |
| 90, 12 | 6 |
| 23, 17 | 1 |
| 1024, 2048, 256, 48 | 16 |
Item 1
Descreva em português, sucinta e precisamente, o passo a passo de um algoritmo eficiente que calcula o MDC de dois números inteiros, positivos e diferentes de zero.
Observações sobre o texto apresentado:
a) deve respeitar rigorosamente a especificação;
b) deve ser claro e organizado;
c) não deve conter comentários e/ou justificativas;
d) não deve incluir trechos que estejam fora do escopo da so…
A analista de sistemas Joana do TJRN recebeu a seguinte demanda dos gestores do Tribunal: desenvolver uma solução tecnológica para apoiar a tomada de decisão respondendo perguntas analíticas. Para começar, Joana levantou o primeiro requisito analítico: quantidade de processos judiciais por instância, por cidade e por data (ano e mês). A partir disso, Joana decidiu implementar o Data Mart ProcMart.
a) Elabore o modelo multidimensional de dados do ProcMart que Joana deve implementar para atender o primeiro requisito analítico levantado.
Com o uso do ProcMart, os gestores do Tribunal perceberam que poderiam descobrir padrões nos dados dos sistemas de informação do Tribunal e solicitaram a Joana…




