SóProvas


ID
8275
Banca
ESAF
Órgão
Receita Federal
Ano
2005
Provas
Disciplina
Arquitetura de Software
Assuntos

Analise as seguintes afirmações relacionadas a padrões de projetos:

I. O padrão Builder separa a construção de um objeto complexo de sua representação, de modo a que o mesmo processo de construção possa criar diferentes representações.

II. O método Abstract Factory fornece uma interface para a criação de uma família de objetos relacionados ou dependentes sem especifi car suas classes completas.

III. O padrão Bridge defi ne uma interface para criar um objeto, mas deixa as subclasses decidirem que classe será instanciada. O Bridge permite a uma classe postergar a instanciação das subclasses.

IV. O Chain of responsability usa compartilhamento para suportar grandes quantidades de objetos e define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são automaticamente notificados e atualizados.

Indique a opção que contenha todas as afirmações verdadeiras.

Alternativas
Comentários
  • I. Builder é um padrão de projeto de software que permite a separação da construção de um objeto complexo da sua representação, de forma que o mesmo processo de construção possa criar diferentes representações.II. Abstract Factory é um padrão de projeto de software (design pattern em inglês). Este padrão permite a criação de famílias de objetos relacionados ou dependentes, através de uma única interface e sem que a classe concreta seja especificada.III. Bridge é um padrão de projeto de software, ou design pattern em inglês, utilizado quando é desejável que uma interface (abstração) possa variar independentemente das suas implementações.IV. O padrão de projeto de software Chain of Responsibility representa um encadeamento de objetos receptores para o processamento de uma série de solicitações diferentes. Esses objetos receptores passam a solicitação ao longo da cadeia até que um ou vários objetos a tratem.Fonte: Wikipedia
  • Complementando:IV. O Observer é um padrão de projeto de software que define uma dependência um-para-muitos entre objetos de modo que quando um objeto muda o estado, todos seus dependentes sejam notificados e atualizados automaticamente. Permite que objetos interessados sejam avisados da mudança de estado ou outros eventos ocorrendo num outro objeto.
  • O item III define Factory Method (e não bridge)"Definir uma interface para criar um objeto mas deixar que subclasses decidam que classe instanciar. Factory Method permite que uma classe delegue a responsabilidade de instanciamento às subclasses." [GoF]
  •  Na verdade essa questão deveria ser anulada, haja vista que apenas o item I está correto e devido ao erro do item II no final do período, onde está completas deveria ser concretas

     

    II. O método Abstract Factory fornece uma interface para a criação de uma família de objetos relacionados ou dependentes sem especifi car suas classes completas.

    Mas nesse caso, vai por eliminação para não perder a questão.

  • I. O padrão Builder separa a construção de um objeto complexo de sua representação, de modo a que o mesmo processo de construção possa criar diferentes representações.

    II. O método Abstract Factory fornece uma interface para a criação de uma família de objetos relacionados ou dependentes sem especifi car suas classes completas.

    III. O padrão Bridge define uma interface para criar um objeto, mas deixa as subclasses decidirem que classe será instanciada. O Bridge permite a uma classe postergar a instanciação das subclasses. (Isso é o Factory Method)

    IV. O Chain of responsability usa compartilhamento para suportar grandes quantidades de objetos e define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são automaticamente notificados e atualizados. (Isso é o Flyweight)
  • Colega Tiago Melquiades , o item IV refere-se ao padrão Observer, conforme a seguinte definição:


    A definição formal do Padrão Observer é: “O Padrão Observer define uma dependência um-para-muitos entre os objetos de modo que quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente”.



    Fonte: http://www.devmedia.com.br/padrao-de-projeto-observer-em-java/26163

  • Na afirmativa II não seria classes concretas?

  • a) Builder

    b) Abstract Factory

    c) Factory Method

    d) Observer