SóProvas


ID
255880
Banca
FCC
Órgão
TRT - 24ª REGIÃO (MS)
Ano
2011
Provas
Disciplina
Arquitetura de Software
Assuntos

Considere:

I. Fornecer uma interface para criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas. Possibilitar o adiamento da instanciação para as subclasses.

II. Garantir a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao seu objeto.

III. Possibilitar o armazenamento do estado interno de um objeto em um determinado momento, para que seja possível retorná-lo a este estado, caso necessário.

I, II e III são, respectivamente, objetivos dos design patterns intitulados:

Alternativas
Comentários
  • Factory Method e Singleton são padrões de projeto criacionais, ao lado de Prototype, Abstract Factory e Builder.

    Memento é um padrão de projeto comportamental ao lado de:

    - chain of responsability
    - command
    - visitor
    - observer
    - iterator
    - strategy
    - template method
    - interpreter
    - state
    - mediator
  • Eu não entendo porque a FCC mistura tanto as coisas...

    A descrição que a questão dá para o "Factory Method" é melhor atribuida ao design pattern "Abstract Factory" (apesar de estar mistrurada).

    Segundo o livro "Design Patterns: Elements of Reusable Object-Oriented Software" de Erich Gamma e John Vlissides, as descrições para esses dois design patterns são:

    Abstract Factory: Fornecer uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

    Factory Method: Definir uma interface para criar um objeto, mas deixa as subclasses decidirem que classe instanciar. "Factory Method" permite a uma classe adiar a instanciação para subclasses.

    Apesar de as descrições para os design patterns "Singleton"  e "Memento" estarem indiscutivelmente certas, eu não concordo com a descrição para "Factory Method"...
  • a) Interpreter, Iterator e Memento.
    Interpreter - è um padrão comportamental  usado em soluções elegantes na interpretação de pequenas gramáticas.
    Iterator - é um padrão comportamental  que permite a interação e um modo de acesso a elementos de agregados de objetos sequencialmente, sem a exposição de estruturas internas.
    Memento - É um padrão comportamental que permite armazenar o estado interno dos objetos em um determinado momento para que seja possível retornar a esses estados, caso necessário.

    b) Command, Singleton e Iterator.
    Command - É um padrão comportamental que encapsula uma solicitação, como um objeto, permitindo que clientes parametrizem diferentes solicitações, enfileirem ou façam o registro (log) de solicitações e suportem operações que possam ser desfeitas.
    Singleton - é um padrão de criação que garante a existencia de apenas uma instância de uma classe, mantendo um ponto global de acesso ao objeto.

    d) Iterator, Factory Method e Flyweight.
    Factory Method - é um padrão de criação que fornece uma interface para a criação de famílias de objetos relacionados ou dependentes, sem especificr as suas classes concretas, permitindo adiar a instanciação para as subclasses.
    Flyweight - é um padrão estrututral apropriado quando vários objetos devem ser manipulados e esses não suportam dados adicionais.
  • forrest177,

    essa definição misturada de Abstract Factory com Factory Method
    é a definição que está no wikipedia http://pt.wikipedia.org/wiki/Factory_Method

    e como wikipedia é a principal fonte da FCC (infelizmente, o que é um absurdo), está ai sendo utilizada essa definição.

    pelo menos, nessa questão na tinha nenhuma alternativa com Abstract Factory no item I



  • Forest e Dirceu,
    A wikipedia já foi corrigida. srrs
    Acho que deveria ser feita uma reportagem sobre a mediocridade das questões da FCC e sobre sua fonte de consultas.
    Se não surtir efeito, pelo menos que os envergonhem perante a imprensa.
  • mais uma vez, repito: só por que a questão está igual da wiki, não significa que a banca tirou de lá. Ora, de onde vocês acham que o pessoal que publica na  wiki tiram o conteúdo? Muito provalvemente  (assim espero) de fontes seguras, como livros.
    ps: não estou defendendo a FCC, acho uma banca tosca, mas por motivos diferentes.
  • Questão ridícula mesmo. Erro grotesco.

  • Não há alternativas corretas. A questão deveria ser anulada. A questão, no item I, mistura características de Abstract Factory e Factory Method. A II é Singleton e III é Memento.