Estudos gratuitos da ER Soluções WebVer outros conteúdos grátis
ER Soluções WebEstudos · Code Complete

5.2. Heurísticas de projeto

Abstração, encapsulamento, esconder segredos, isolar o que muda e manter o acoplamento baixo.

Classe como caixa com interface pequena à mostra e segredos escondidos dentro
Mostre pouco, esconda muito.

Resumo

Perguntas-chave

responda de cabeça, depois abra
O que é esconder informação?
Projetar cada classe para guardar um segredo (uma decisão de projeto ou fonte de complexidade) que o resto do sistema não precisa conhecer.
O que é acoplamento semântico?
Quando um módulo depende do funcionamento interno de outro, por exemplo da ordem em que ele chama rotinas ou de um flag de controle.
Quais áreas tendem a mudar?
Regras de negócio, dependências de hardware, entrada e saída, recursos não padrão da linguagem, áreas difíceis de projeto, variáveis de estado e limites de tamanho.

Exercícios de fixação

0/5 respondidas
1.
A pergunta central do esconder informação (information hiding) é:
2.
O módulo A só funciona se o módulo B chamar init() antes de processar(), e nada no código garante isso. Que tipo de acoplamento é esse?
3.
Um sistema usa a alíquota de imposto em 30 lugares. A heurística de isolar áreas de mudança sugere:
4.
Qual destas características não descreve acoplamento fraco segundo o livro?
5.
Qual o principal benefício de reconhecer um padrão de projeto conhecido (ex.: Factory, Observer)?
Seu progresso fica salvo neste navegador.