UML - Classes Pessoa (Física e Jurídica), Fornecedor, Usuário, Motorista e Cliente

[quote=YvGa]Eu implementei como pattern state. A classe pessoa tem um tipo pode ser do fisica ou juridica. Nos casos em q elas variam pouco (cliente de loja, prestador de servico) ele funciona bem.

Em casos mais complexos, em q vc precise de muitas informacoes especificas de pessoa fisica ou juridica, eu acho q elas nao deveriam ter uma interface ou classe abstrata comum.

Essa ideia dos roles tbm achei interessante.[/quote]

Realmente não vai funcionar bem, pq o State prevê que suas implementações compartilham os métodos da Interface e nesse caso, você vai querer ter métodos dferenciados à cada um.

Poderia até tentar unificar, como CNPJ - CPF num método comum, mas começa a ficar meio POG …

Realmente não vai funcionar bem, pq o State prevê que suas implementações compartilham os métodos da Interface e nesse caso, você vai querer ter métodos dferenciados à cada um.

Poderia até tentar unificar, como CNPJ - CPF num método comum, mas começa a ficar meio POG … [/quote]

Exatamente isso que acontece.
Funciona bem pq eh simples. Por isso q eu acho q qdo precisa muita informacao especifica PessoaFisica e PessoaJuridica nao deveriam implementar a mesma interface.

Galera, estou passando por um problema parecido. Tenho a classe Pessoa e tenho a classe Fisica e Juridica que herdam de Pessoa. No domínio que estou representando, um Fornecedor pode ser uma Pessoa Física ou Pessoa Jurídica. Sendo assim, como eu modelaria?