-
GRASP – General Responsability Assignment Software Patterns. Os padrões GRASP descrevem os princípios fundamentais para a atribuição
de responsabilidades em projetos OO.
Os padrões GRASP são: Controller, Creator, Expert, Law of Demeter, Low Coupling/High Cohesion, Polymorphism e Pure Fabrication.
-
"No caso do Information Expert, a responsabilidade concerne à disponibilidade de informações que permitem o desempenho de uma responsabilidade".
Não me parece certa essa descrição do Expert. Pelo menos não clara.
Que eu sei, o objetivo do Expert é:
Assign a responsibility to the information expert; the class that has the information necessary to fulfill the responsibility.
Ou seja, dar a responsabilidade a quem tem informações suficientes para cumpri-la.
Não se de onde a banca tirou essa informação, mas, no material que tenho sobre os Padrões de Projeto GRASP, eu não achei!
-
Tudo correto.
Controller atribui a responsabilidade do tratamento de um evento do sistema a uma classe.
Polimorfismo atribui a responsabilidade de alternativas baseada no tipo de uma classe.
Expert atribui a responsabilidade ao especialista da informação – a classe que tem a informação necessária para satisfazer a responsabilidade.
-
Polimorfismo é um padrão?
-
Se tu pesquisar sobre o GRASP irá verificar que sim, que ele faz parte dos quatro padrões avançados.
-
Os padrões: Controller; Polimorfismo; e Information Expert, são considerados do tipo GRASP porque cada um embute uma forma de atribuição de responsabilidades a objetos. Corrreto, GRASP trata justamente sobre responsabilidades de classes e objetos.
No caso do Controller,
a responsabilidade é concernente ao tratamento de eventos. Correto, porque determina que deve haver uma classe ou camada responsável por receber e
tratar eventos da camada de interface com o usuário, delegando as ações
para as camadas inferiores.
No caso do
Polimorfismo, a responsabilidade é concernente à variação de
comportamento, conforme o tipo do objeto. Correto.
No caso do Information Expert, a responsabilidade concerne à disponibilidade de informações que permitem o desempenho de uma responsabilidade. Correto, é escolhida a classe que possuir mais informações a
respeito da funcionalidade em questão para que seja a responsável por
provê-la.
-
cespe ama o information expert
2013
O padrão Indirection é utilizado para atribuir responsabilidades à classe que tiver a informação necessária para satisfazer a responsabilidade
Errada
2013
O padrão Pure Fabrication objetiva designar a responsabilidade unívoca pela criação de uma nova instância de uma classe.
Errada
2013
Nos casos em que a solução oferecida pelo padrão Expert violar a alta coesão e o baixo acoplamento, o padrão adequado a ser aplicado será o Creator, que atribui um conjunto altamente coesivo de responsabilidades a uma classe artificial que não representa um conceito do domínio do problema.
Errrada -- high cohesion