[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?