Um amigo lendo a apostila de Java e Orientação a Objetos da Caelum(r)
Mais especificamente, tem-se dois objetos Conta e Pessoa. Ele me disse:
- Mas quem saca dinheiro não é a pessoa?
- Porque que conta é que está com esse método?
- Não temos que "imitar" o mundo real?
Tentei explicar para que devemos chegar o mais perto do mundo real, não completamente igual ao mundo real. Sobre atribuir responsabilidades existem padrões (ou regras) e também vale o bom senso, existem padrões como o GRASP - Expert.
Padrão Expert
"Atribuir uma responsabilidade ao expert de informação - a classe que possui a informação necessária para preencher a responsabilidade"
Conta ou Pessoa preenchem a necessidade de sacar o dinheiro?
Quem é o expert da informação envolvida na responsabilidade, Conta ou Pessoa? (saldo,limite...)
Eu acredito que seja a Conta. O objeto Conta que conhece qual o limite, para não ultrapassar, e autualiza o saldo. Ou seja, a Conta é o Expert.
Nenhum comentário:
Postar um comentário