2. Sumário
O que é o padrão Information Expert
Vantagens do Information Expert
A importância do Information Expert
Como aplicar o padrão Information Expert
Erros comuns ao aplicar o padrão Information Expert
Conclusão
2
3. ❓O que é o Information Expert
Padrão GRASP cujo objetivo é:
Atribuir uma responsabilidade para a classe Expert de Informação.
Esta classe é a que possui as informações necessárias para lidar com a
responsabilidade.
● Cada classe deve ser responsável por gerenciar seus próprios dados e
comportamento.
● Deve ter as informações e métodos necessários para executar suas tarefas.
3
4. Vantagens do Information Expert
● Promove a reutilização criando classes independentes e que
podem ser usadas em vários contextos.
● Menor número de dependências entre os componentes do código.
● Promove o encapsulamento e reduz o acoplamento entre as
classes.
● Torna o código mais modular e fácil de manter.
4
5. Exemplo de uso do Information Expert
Por exemplo, imagine um aplicativo bancário que precise calcular
taxas de juros para diferentes tipos de contas. Ao usar o padrão
Information Expert, a classe Account pode gerenciar seus próprios
dados e comportamento relacionados às taxas de juros, em vez de
depender de uma classe externa InterestCalculator. Essa abordagem
torna o código mais modular e mais fácil de manter.
5
6. Como aplicar
O padrão Information Expert tem vários benefícios para o design de software. Primeiro, melhora a qualidade do código
reduzindo a complexidade e aumentando a modularidade. Em segundo lugar, melhora a capacidade de manutenção, tornando
mais fácil isolar e corrigir bugs. Por fim, promove a reutilização criando classes independentes e que podem ser usadas em
vários contextos.
Para aplicar o padrão Information Expert, siga estas etapas:
1. Identifique as responsabilidades de cada classe.
2. Atribua cada responsabilidade à turma com mais informações e comportamentos relacionados a essa responsabilidade.
3. Certifique-se de que cada classe tenha todas as informações e métodos necessários para executar suas tarefas sem
depender de dependências externas.
4. Use encapsulamento para ocultar detalhes de implementação e reduzir o acoplamento entre as classes.
Seguindo essas etapas, você pode criar um sistema de software mais modular, flexível e de fácil manutenção. Lembre-se de
sempre manter os princípios do padrão Especialista em Informações em mente ao projetar suas classes.
6
8. Erros comuns
Embora o padrão Information Expert seja uma ferramenta poderosa para o design de
software, existem alguns erros comuns que os desenvolvedores cometem ao aplicá-lo. Um
erro é criar classes muito grandes ou com muitas responsabilidades. Isso pode levar a um
código difícil de entender e manter.
Outro erro é violar o Princípio da Responsabilidade Única atribuindo responsabilidades à
classe errada. Por exemplo, se uma classe tiver um método que usa dados de outra
classe, pode ser um sinal de que a responsabilidade deve ser atribuída à outra classe.
Para evitar esses erros, mantenha atenção às responsabilidades de cada classe e
certifique-se de que cada classe tenha um propósito claro e bem definido. Use o
encapsulamento para ocultar detalhes de implementação e reduzir o acoplamento entre
as classes.
8
9. Conclusão
Em conclusão, o padrão Information Expert é um conceito essencial em padrões
de projeto que pode melhorar muito a qualidade do código e a facilidade de
manutenção. Seguindo os princípios desse padrão, os desenvolvedores podem
criar sistemas de software mais modulares, flexíveis e reutilizáveis.
Lembre-se de sempre considerar cuidadosamente as responsabilidades de cada
classe e atribuí-las à classe com mais informações e comportamentos
relacionados a essa responsabilidade. Use o encapsulamento para ocultar
detalhes de implementação e reduzir o acoplamento entre as classes. Aplicando
esses princípios, você pode criar um software mais fácil de entender, manter e
estender.
9
10. Referências
BOAS, Leandro V. Padrões GRASP: Padrões de Atribuir Responsabilidades. Medium, [S.l.], 11 de
janeiro de 2019.Disponível em:
https://medium.com/@leandrovboas/padr%C3%B5es-grasp-padr%C3%B5es-de-atribuir-responsab
ilidades-1ae4351eb204. Acesso em: 04 jun. 2023.
LEARN TO ACHIEVE GOAL. Information Expert Pattern || GRASP || Urdu Tutorial || OOAD.
[Vídeo]. YouTube, 20 de jan. de 2021. Disponível em:
https://www.youtube.com/watch?v=qiPQLTVJe0k. Acesso em: 18 de junho de 2023.
10