InformáticaProgramação orientada a objetosProGPe UFSCAR 2012
UFSCAR
Questão de Informática
O padrão de projeto “Fábrica Abstrata” (Abstract Factory, em inglês) facilita a criação de famílias de objetos (ou produtos) relacionados entre si. Uma possível estrutura para sua implementação, mais tradicional, sugere o uso de vários “Métodos Fábrica” (Factory Method, em inglês), um para cada tipo de produto. No entanto, existe a possibilidade de uma implementação alternativa, com um único “Método Fábrica” universal para todos os tipos de produtos, onde o tipo do produto é especificado via parâmetro do método. O diagrama abaixo ilustra essa alternativa:

Considerando os seguintes cenários, que são independentes entre si: I. Existem poucos produtos (três ou quatro) em cada família. II. A implementação será realizada em uma linguagem estaticamente tipada, como C++ ou Java, mas todos os tipos de produtos são suficientemente parecidos, de modo que é possível criar uma única superclasse abstrata da qual todo produto concreto é descendente. III. Existem centenas de tipos de produtos em cada família. IV. As características e o número de produtos são praticamente constantes ao longo do ciclo de vida do software. V. A implementação será realizada em uma linguagem dinamicamente tipada, como Smalltalk ou Javascript. VI. Novos tipos de produtos são adicionados frequentemente à fábrica, ao longo do ciclo de vida do software. Quais dos cenários acima (que são independentes entre si) apresentam fatos que justificam de alguma forma a escolha da alternativa descrita no diagrama, ao invés da estrutura tradicional com vários “Métodos Fábrica”?
Mais questões de Programação orientada a objetos
- COPERVE UFSC 2026Uma classe denominada Figura define um método desenhar(), mas não o implementa. Esse método não possui argumento de entrada, nem retorna valor. As classes Triangulo, Quadrado e Ci…
- COPERVE UFSC 2026Considere 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 corre…
- FGV 2026Padrões de projeto (ou design patterns) são construções e soluções repetíveis e reutilizáveis para situações e problemas comuns, que visam melhorar a qualidade dos sistemas de sof…
- Cebraspe 2026No trecho de código C# a seguir, a classe Employee declara o método Payment(), a classe OutsourcedEmployee o sobrescreve com override, e, como a variável é do tipo Employee, mas r…
- Cebraspe 2026Na arquitetura orientada a objetos, o encapsulamento é o princípio que visa ocultar os detalhes de implementação interna e proteger o estado de um objeto, restringindo o acesso di…
Questão de prova oficial, com o gabarito definitivo publicado pela banca. Reproduzida para fins de estudo.

