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:
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
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