M desempenha o papel de líder de arquitetura de software
em uma empresa. Percebeu, junto com sua equipe, a necessidade de desenvolver, em uma linguagem orientada a
objetos, um esqueleto de um algoritmo, composto por um
conjunto de passos na sua superclasse. A definição de alguns desses passos deverá ser postergada para as suas
subclasses. Vale destacar que a estrutura do algoritmo,
ou seja, a ordem, definida na superclasse, em que os passos serão executados não poderá ser mudada, podendo-se alterar, a partir das subclasses, o que será executado
por alguns dos passos.
Nesse caso, o padrão de projeto utilizado por M e sua
equipe é o
O padrão arquitetural MVC foi proposto na década de 70 e desde
então vem sendo amplamente utilizado no mercado. Com relação
às afirmativas sobre o padrão, avalie as afirmativas a seguir e
assinale (V) para a afirmativa verdadeira e (F) para a falsa.
( ) Visão - são as classes responsáveis pela apresentação da
interface gráfica do sistema, incluindo janelas, botões, menus,
barras de rolagem. A interface gráfica é formada por objetos
de visão e contêineres.
( ) Conteiner - são as classes que tratam e interpretam eventos
gerados por dispositivos de entrada, como mouse e teclado.
Como resultado de tais eventos, contêineres podem solicitar
uma alteração no estado do Modelo ou da Visão. Suponha, por
exemplo, uma Calculadora. Quando o usuário clica em um
botão +, uma classe Controladora deve capturar esse evento e
chamar um método do Modelo.
( ) Modelo - são as classes que armazenam os dados manipulados
pela aplicação e que têm a ver com o domínio do sistema em
construção. Assim, classes de Modelo não têm qualquer
conhecimento ou dependência para classes de Visão e
Contêineres. Além de dados, classes de Modelo podem conter
métodos que alteram o estado dos objetos de domínio.
As afirmativas são, respectivamente,
J é um desenvolvedor de uma empresa e foi incumbido de
criar um novo sistema de arquivos. Esse sistema seguirá
uma estrutura de árvore com pastas que podem conter
arquivos ou outras pastas. Além disso, tanto as pastas
como os arquivos compartilharão operações como copiar,
mover e excluir.
A partir desse contexto, J lembrou que há um padrão de
projeto que poderia ajudá-lo nessa tarefa, que é o
Um técnico deseja usar um padrão de projeto de criação que permita que as subclasses da aplicação possam variar. Este padrão deverá ser focado no processo de instanciação e encapsular a criação de objetos, deixando as subclasses decidirem quais objetos criar e garantindo assim, baixo acoplamento. Para conseguir o que deseja, o técnico selecionou o padrão de projeto que possui uma classe abstrata Creator que define um método especifico para criação de objetos. Trata-se do padrão:
Acerca dos padrões de projeto em arquitetura de software, julgue
o próximo item.
O padrão GRASP de Expert é utilizado para atribuir uma
responsabilidade à classe que possui a informação necessária
para atender essa mesma responsabilidade.