SóProvas


ID
3402220
Banca
IBFC
Órgão
TRE-PA
Ano
2020
Provas
Disciplina
Arquitetura de Software
Assuntos

Os padrões de projeto denominados GoF (Gang of Four) são divididos em um grande número de tipos. Em função dessa grande quantidade de padrões, foi necessário classificá-los em três famílias/classificações. Assinale a alternativa que as apresenta.

Alternativas
Comentários
  • GABARITO D - Padrões de Criação (creational), Padrões Estruturais (structural) e Padrões Comportamentais (behavioral)

    Padrões de Criação

    Os padrões de criação tem como intenção principal abstrair o processo de criação de objetos, ou seja, a sua instanciação. Desta maneira o sistema não precisa se preocupar com questões sobre, como o objeto é criado, como é composto, qual a sua representação real. Quando se diz que o sistema não precisa se preocupar com a instanciação do objeto quer dizer que, se ocorrer alguma mudança neste ponto, o sistema em geral não será afetado. Isso é a famosa flexibilidade que os padrões de projeto buscam.

    Padrões de criação com escopo de classe vão utilizar herança para garantir que a flexibilidade. Por exemplo, o padrão Factory Method pode criar várias subclasses para criar o produto. Já os padrões com escopo de Objeto, como o Prototype, delegam para um objeto (no caso o protótipo) a responsabilidade de instanciar novos objetos.

    Padrões Estruturais

    Os padrões estruturais vão se preocupar em como as classes e objetos são compostos, ou seja, como é a sua estrutura. O objetivo destes padrões e facilitar o design do sistema identificando maneiras de realizar o relacionamento entre as entidades, deixando o desenvolvedor livre desta preocupação.

    Os padrões com escopo de classe utilizam a herança para compor implementações ou interfaces. O padrão Adapter, por exemplo, pode definir uma nova interface para adaptar duas outras já existentes, assim uma nova classe é criada para adaptar uma interface a outra. Os padrões com escopo de objeto utilizam a composição de objetos para definir uma estrutura. Por exemplo, o padrão Composite define (explicitamente) uma estrutura de hierárquica para classes primitivas e compostas em um objeto.

    Padrões Comportamentais

    Os padrões comportamentais atuam sobre como responsabilidades são atribuídas as entidades, ou seja, qual o comportamento das entidades. Estes padrões facilitam a comunicação entre os objetos, distribuindo as responsabilidades e definindo a comunicação interna.

    Padrões com escopo de classe utilizam herança para realizar a distribuição do comportamento. Um bom exemplo é o padrão Template Method, que fornece um algoritmo (comportamento) padrão e deixa as subclasses definirem alguns pontos da execução do algoritmo. Já os padrões de objetos vão compor os objetos para definir a comunicação, como o padrão Mediator, que define um objeto que realiza a comunicação muitos-para-muitos.

    Para saber mais sobre os padrões, acesse a página Padrões de Projeto, lá estão listado todos os padrões comentados aqui, com exemplos de utilização e código em Java. Além disso, outro site que detalha mais os padrões e traz exemplos em diversas linguagens é o SourceMaking. Como livros, o principal é o livro de referência, Padrões de Projeto, e o livro da séria Use a Cabeça!: Padrões de Projeto.

  • GABARITO LETRA D)

    O GoF define 3 tipos básicos: criacionais, estruturais e comportamentais. Cada um deles ainda pode ter um escopo de classe ou de objeto.

  • Padrão de projetos de Criação

    • Singleton 
    • Factory Method
    • Abstract factory
    • Builder
    • Prototype

    Padrão de projetos Estruturais

    • Decorator 
    • Composite
    • Façade
    • Proxy
    • Adapter
    • Bridge
    • Flyweigth

    Padrão de projetos Comportamental

    • Template Method
    • Iterator
    • Command
    • Strategy
    • State
    • Observer
    • Mediator
    • Visitor
    • Memento
    • Interpreter
    • Chain OF Responsibility

    Alternativa: D