SóProvas


ID
2524012
Banca
FCC
Órgão
ARTESP
Ano
2017
Provas
Disciplina
Arquitetura de Software
Assuntos

Suponha que em uma organização existe um conjunto de cargos e para cada cargo existem regras de cálculo da taxa de produtividade, cujo valor é determinado por uma porcentagem do salário base do funcionário. Este valor é acrescido ao salário do funcionário como um bônus. Um desenvolvedor deve criar uma solução que utilize um design pattern (padrão de projeto) cuja intenção é: “definir uma família de algoritmos, encapsular cada uma delas e torná-las intercambiáveis. O padrão de projeto permite que o algoritmo varie independentemente dos clientes que o utilizam”. Ou seja, o padrão sugere que algoritmos parecidos (métodos de cálculo da taxa de produtividade) sejam separados de quem os utiliza (funcionário). O padrão, além de encapsular os algoritmos da mesma família, também permite a reutilização do código. Nesta situação, caso a regra para cálculo da taxa de produtividade de dois tipos de funcionários, como Desenvolvedor e DBA, seja a mesma, não é necessário escrever código extra. Caso seja necessário incluir um novo cargo, basta implementar sua estratégia de cálculo da taxa ou reutilizar outra similar. Nenhuma outra parte do código precisa ser alterada.


O design pattern mencionado na situação apresentada é

Alternativas
Comentários
  • Gabarito: D.

     

    Palavras-chave

     

    Abstract Factory - não especifica classe concreta

    Builder - separa construção da representação

    Prototype - cópia de objetos existentes

    Strategy - família de algoritmos

    Singleton - única instância

     

    Alguns outros padrões

     

    Façade - única interface

    Decorator - aumento de responsabilidade

    Flyweight - granularidade

    Proxy - acesso remoto

    Template Method - esqueleto de algoritmo

  • Abstract Method não existe. É abstract factory ou factory method.

  • Yan Ghidini,

     

    Com certeza.

     

    Havia escrito, erradamente, "Abstract Method", já corrigido no meu comentário para "Abstract Factory".

     

    Obrigado.

  • 2017

    Padrões de projeto nomeiam, explicam e avaliam um aspecto de projeto importante e recorrente em sistemas orientados a objetos.

    Avalie as características atribuídas a um padrão de projeto.

     

    I- Usado quando uma classe é usuária de uma certa hierarquia/ família de algoritmos, como um algoritmo de busca ou ordenação.

    II- Esse padrão define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis.

    III- Como existem diversos algoritmos em uma mesma família, não é desejável que se codifique todos eles em uma mesma classe.

    IV- Permite que um algoritmo varie, independentemente dos clientes que o utilizam.

    V- Fornece uma maneira de configurar uma classe com um dentre muitos comportamentos.

    VI- Pode ser usado para evitar a exposição das estruturas de dados específicas de um algoritmo, que se deseja ocultar.

     

    Essas características são do padrão de projeto: STRATEGY

  • Fui por palavras chaves:

    Abstract factory: Familia de objeto

    Builder:Pega um objeto complexo composto de outras classes.

    Prototype:Cópia de objeto.

    Strategy:Familia de algoritmo.

    Singleton: unica instância..

  • d-

    strategy - familia de algoritmos, encapsulando cada um e os fazendo trocaveis. e.g.: view-controller

  • "Definir uma família de algoritmos, encapsular cada uma delas e torná-las intercambiáveis".

    Depois daqui não precisa ler o resto da questão.

    D - Strategy