SóProvas


ID
1159579
Banca
CESPE / CEBRASPE
Órgão
TJ-CE
Ano
2014
Provas
Disciplina
Arquitetura de Software
Assuntos

Com relação aos padrões GRASP, assinale a opção correta.

Alternativas
Comentários
  • Vamos analisar cada uma das opções:


    a) O acoplamento baixo (low coupling) baseia-se na quantidade de ligações entre as classes e está destinado à atribuição de responsabilidade ao primeiro objeto além da camada de interface com o usuário, que é responsável por receber ou tratar uma mensagem de operação do sistema (INCORRETO) O padrão que é responsável por tratar interface com o usuário é o padrão CONTROLLER ou CONTROLADOR.
    b) O controlador (controller) permite solucionar problemas no controle de criação de instâncias de classes. Nesse sentido, se a classe X contiver dados iniciais da classe Y ou se X usar de maneira muito próxima Y, caberá a X criar instâncias de Y, em que o controller representaria o padrão mais indicado para solucionar esse problema. (INCORRETO) O padrão que controle a criação de instâncias de classes é o padrão CREATOR, e não o controlador.
    c) A alta coesão (high cohesion) é um padrão utilizado para aprimorar a ligação entre as classes, permitindo que a classe A não dependa de outras classes. Esse padrão é considerado o princípio central e útil em projetos orientados a objetos que utilizam GRASP (INCORRETO) Quando pensamos em dependência entre classes, o padrão a ser lembrado é o padrão BAIXO ACOPLAMENTO, e não o alta coesão.
    d) O criador (creator) é utilizado para a solução do problema de quem cria a instância de uma classe com objetos do modelo de domínio. Nesse caso, se A registra B, então atribui-se à classe B a responsabilidade de se criar uma instância de A. (INCORRETO) Se A registra B, quem deve registrar B é a classe A, e não o contrário!
    e) O especialista na informação (information expert) associa-se ao mapeamento de responsabilidade em que se procura atribuir responsabilidade à classe que tenha informação necessária para satisfazê-la. (CORRETA) Realmente é o padrão ESPECIALISTA que é responsável por atribuir responsabilidades a cada uma das classes!

  • GRASP - Expert
    •Problema :
    –Qual é o princípio mais básico de atribuição de responsabilidades em projeto OO?
    –Em um sistema com centenas de classes, como selecionamos quais responsabilidades devem estar em quais classes?
    –Exemplo: Em um sistema de PDV, quem deveria ser o responsável pelo cálculo do total de um pedido?
    •Solução:
    –Atribuir a responsabilidade ao especialista
    –O especialista é a classe que tem a informação necessária para satisfazer a responsabilidade
    –Exemplo: Em um sistema de PDV, o responsável pelo cálculo do total de um pedido deveria ser a própria classe Pedido
    É o padrão mais usado para atribuir responsabilidades.