Padrões de Projetos
(a) (b)
Resposta: A solução B é melhor e mais detalhada, porém de uma forma abrangente, o solução A não está errada, porém está incompleta.
A forma mais correta de se fazer é quando criamos uma Classe, que nesse caso é a CLIENTE, e associamos a ela as classes Corporação e Individuo. Desta forma, mediante ao padrão de projetos Information Expert, precisamos atribuir a responsabilidade ao especialista, que nesse caso é a CLIENTE.
Podemos exemplificar a escolha pela solução B, utilizando também o padrão Indirection que utiliza um objeto intermediário que faz mediação entre os outros.
(2) Considere uma aplicação para um bar-café. Nessa aplicação, considere a existência de uma classe que representa um comestível qualquer vendido pelo bar-café: Comida. Considere ainda duas outras classes nessa aplicação, Cozinha e CaixaRegistradora. A classe cozinha manipula objeto da classe Comida para montar pratos. Já a classe CaixaRegistradora manipula objeto comida para registrar a venda dos mesmos e cobrar por eles. Portanto, essas duas classes dependem dos serviços fornecidos pela classe Comida. Em um primeiro modelo dessa aplicação, o modelador fez com que as classes Cozinha e CaixaRegistradora dependessem diretamente da classe Comida, conforme a Figura 2a. No entanto, conforme o desenvolvimento foi se evoluindo, o modelador identificou um novo requisito na aplicação: agora era preciso registrar a