Strategy - Criar mais métodos ou mais Classes?

Boa Tarde a todos,

Gostaria de sugestões sobre qual abordagem utilizar no seguinte cenário :

Tenho o padrão Strategy aplicado em meu sistema, juntamente com uma factory.

Para cada implementação retornada, o método registraNotificacao() é utilizado de uma maneira diferente…

Cada uma delas acessa um método de Negócio e da DAO… a pergunta é : Crio uma DAO e uma Business e dentro delas um método pra cada classe, ou uma classe pra cada uma??

Obrigado !

Não sei se eu te entendi bem, mas se a idéia for criar um DAO com diversos métodos parecidos que atuam em entidades diferentes, não é uma boa ideia. Melhor ter um DAO para cada entidade. Se o método se repetir pra todas as entidades, provavelmente ele é um bom candidato para pertencer a um DAO genérico.

Posta uma parte do código para entendermos melhor. :smiley:

Olá Wagner, antes de tudo obrigado pela atenção.

Então, são métodos diferentes… um acessa um webservice, o outro grava no banco de dados… então eu criaria uma business e um DAO pra cada estratégia retornada…

E não colocar diferentes métodos na mesma classe…

Ex: eu tenho a classe Sistema que vai chamar uma SistemaBusiness e dentro dela o metodo gravar… no método gravar eu chamao o SistemaDAO…

na outra classe SistemaInterior que também ele chamaria o SistemaBusiness só que um outro método, e o mesmo DAO só que em outro método…

Acho que esse reaproveitamento não está muito legal… como vc disse, me parece melhor criar um SistemaInteriorBusiness e o SistemaInteriorDAO…

Deu pra entender??

Obrigado mais uma vez…abrass

Sua Factory é usada para retornar a implementação encapsulada pelo Strategy? Não entendi mto bem seu problema

Na verdade não é um problema, é só questão de modelagem mesmo…rs

Oque acontece é que tenho classes utilizando a mesma Business e DAO, somente com métodos diferentes, entende? As classes implementam a mesma interface (tem mesmo tipo) para ser retornado pelo strategy, e dentro delas elas compartilham a mesma business e DAO… cada uma chama seu método…

Deu pra entender??

abraço !