Baixe o app para aproveitar ainda mais
Prévia do material em texto
07/06/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=71081388&user_cod=2263300&matr_integracao=201902090594 1/5 Teste de Conhecimento avalie sua aprendizagem São padrões GRASP? Com relação aos padrões GRASP, assinale a opção correta: PADRÕES DE PROJETO DE SOFTWARE Lupa Calc. CCT0763_A8_201902090594_V1 Aluno: FRANCISCO PATRICIO DE MOURA Matr.: 201902090594 Disc.: PAD. PROJ. SOFTWARE 2021.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. V Indirection F Controller F Proxy F Information Expert F Decorator Explicação: Principais padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo Acoplamento), Controller. 2. 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. 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. 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. 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. 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. javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); 07/06/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=71081388&user_cod=2263300&matr_integracao=201902090594 2/5 Utilizando a nomenclatura dos padrões GRASP, o padrão Criador assume que tipo de responsabilidade? Nos padrões GRASP (General Responsability Assigment Software Patterns), as responsabilidades de um projeto podem ser divididas em ¿conhecer¿ e ¿fazer¿. Assinale o conceito CORRETO. Explicação: Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo Acoplamento), Controller. Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos. Grupamento de padrões diferente, que tem propostas diferentes dos padrões GoF. Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para desenvolvimento. Os padrões GRASP se inter-relacionam se misturam e são aplicados nos padrões GoF. Os padrões GRASP vão decidir quem é que vai assumir essa responsabilidade aqui. O objetivo dele é identificar quem vai determinar quem vai ter a responsabilidade, quem é que vai assumir a responsabilidade de um determinado conhecimento ou de uma determinada ação. 3. Assume a responsabilidade de substituir, pois sua funcionalidade está relacionada com a resposta a seguinte pergunta: Quem deve criar um objeto A? Assume a responsabilidade de fazer, pois sua funcionalidade está relacionada com a resposta a seguinte pergunta: Quem deve criar um objeto A? Assume a responsabilidade de conhecer, pois sua funcionalidade está relacionada com a resposta a seguinte pergunta: Quem deve criar um objeto A? Assume a responsabilidade de estimar, pois sua funcionalidade está relacionada com a resposta a seguinte pergunta: Quem deve criar um objeto A? Assume a responsabilidade de julgar, pois sua funcionalidade está relacionada com a resposta a seguinte pergunta: Quem deve criar um objeto A? Explicação: Essa afirmativa está correta porque, utilizando a nomenclatura dos padrões GRASP (Larman, 2007), o padrão Criador assume a responsabilidade de fazer, pois sua funcionalidade está relacionado com a resposta a seguinte pergunta: Quem deve criar um objeto A? Grifa-se, novamente, a palavra quem da pergunta anterior. 4. No conhecer, eu delego quem é o responsável por saber o estado de uma determinada classe; As responsabilidades ¿conhecer¿ estão relacionadas com a distribuição do comportamento do sistema entre as classes; As responsabilidades ¿fazer¿ estão relacionadas à distribuição das características do sistema entre as classes; No fazer, vai demonstrar quem é que vai saber o estado; No conhecer, eu delego a responsabilidade de quem é que vai ser responsável por criar; 07/06/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=71081388&user_cod=2263300&matr_integracao=201902090594 3/5 No GRASP direcionar a ação para a classe que sabe resolvê-la é: O que é MELHOR para uma aplicação: acoplamento alto ou acoplamento fraco? Qual a afirmativa está INCORRETA. Explicação: Esse conceito está CORRETO porque: As responsabilidades ¿conhecer¿ estão relacionadas à distribuição das características do sistema entre as classes. As responsabilidades ¿fazer¿ estão relacionadas com a distribuição do comportamento do sistema entre as classes. No fazer, eu delego a responsabilidade de quem é que vai ser responsável por criar. No conhecer, vai demonstrar quem é que vai saber o estado. 5. Creator Variation Information Expert Controller Indirection Explicação: Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco). No Expert (Especialista da informação), o que acontece é que o comportamento está espalhado (estratificado) por toda árvore, em todo o gráfico de classe. Especialista atribuir responsabilidade ao especialista da informação. Especialista na informação é um princípio utilizado para determinar onde delegar responsabilidades. Essas responsabilidades incluem métodos, campos computados, e assim em diante. Ele vai escolher os objetos especialistas para ele receber essas responsabilidades. É o padrão mais usado para atribuir responsabilidades. Benefício: O comportamento fica distribuído entre as classes que têm a informação necessária (classes ¿leves¿). Favorece alta coesão. 6. Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a dificuldade de entendimento da solução proposta Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre profissionais da área que todo projeto orientado a objetos deve aumentar o acoplamento entre os artefatos. Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais aumentar a complexidade da manutenção da aplicação. Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a diminuição das chances de reutilização. Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre 07/06/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=71081388&user_cod=2263300&matr_integracao=201902090594 4/5 Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento. A informação necessária para uma tarefa computacional frequentemente está ¿espalhada¿ por vários objetos. Para o exemplo: determinar o total de uma venda requer a colaboração de 3 objetos, em 3 classes diferentes, qual o melhor padrão GRASP deve ser usado?Os 9 padrões definidos pela General Responsability Assignment Software Pattener são? profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento entre os artefatos. Explicação: Este item está INCORRETO, porque um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a dificuldade de entendimento da solução proposta, a diminuição das chances de reutilização, além de aumentar a complexidade da manutenção da aplicação. Portanto, é consenso entre profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento entre os artefatos. 7. Acoplamento fraco; Coesão Alta; Controlador; Criador; Expert (Especialista da informação); Explicação: Essa resposta está correta porque Expert (Especialista da informação), porque é o padrão mais usado para atribuir responsabilidades. Há muitos experts parciais. Neste caso mensagens são usadas para estabelecer as colaborações. Note que, com o uso do padrão Expert o encapsulamento das classes é mantido. 8. 1.Singleton; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.Decoretor; 3.FlyWeight; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Buider; 5.Bridge; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation. 1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Facade. Não Respondida Não Gravada Gravada javascript:abre_colabore('35071','228609597','4672855427'); 07/06/2021 Estácio: Alunos https://simulado.estacio.br/alunos/?p0=71081388&user_cod=2263300&matr_integracao=201902090594 5/5 Exercício inciado em 07/06/2021 22:35:01.
Compartilhar