19. Política e Nível
Nível = distância das entradas e saídas.
Resumo
- Software = conjunto de políticas. Arquitetura agrupa políticas que mudam juntas e separa as demais.
- Nível = distância das entradas e saídas. Mais longe do IO = mais alto nível.
- Exemplo: criptografia.
translateé alto nível;readChar/writeCharsão baixo nível. - Dependências de código devem apontar para alto nível, desacopladas do fluxo de dados (via interfaces).
- Alto nível muda menos e por razões mais importantes. Baixo nível muda mais e por motivos urgentes e menores.
Perguntas-chave
responda de cabeça, depois abraComo se define nível?
Pela distância das entradas e saídas do sistema. Mais distante = mais alto.
Por que o alto nível não deve depender do baixo?
Porque muda menos e por motivos mais importantes. Depender do IO o tornaria frágil.
Qual o problema de translate chamar readChar diretamente?
Política de alto nível acoplada a detalhe de IO; trocar dispositivo exigiria mudar a política.
Exercícios de fixação
0/5 respondidas1.
Em um programa de criptografia, qual função é de mais alto nível?
2.
Segundo o capítulo, "nível" é definido como:
3.
Como deve ser a direção das dependências de código-fonte?
4.
Políticas de baixo nível tendem a mudar:
5.
Agrupar políticas em componentes segue quais princípios?