Prezados Senhores,
Estou enfrentando uma dificuldade de melhor modelagem de um sistema. Analisei os diversos padrões de projeto e não visualizei saída para o problema.
Tenho um sistema que verifica na base de dados algumas restrições, mas também pode checar de outras fontes como, por exemplo, data do sistema. Pensando em ser customizável, fiz a seguinte estrutura:
public interface Limite {
public boolean check();
}
Caso retorne falso, é porque não foi validada a expressao. Tenho implementada alguns limites, como:
public class LimiteData implements Limite {
public Date dataLimite;
public boolean check() {
//aqui faz a rotina que checa a data e retorna true/false
}
}
public class LimiteQtdPessoas implements Limite {
public int qtdMaxima;
public boolean check() {
//aqui esta o problema
}
}
Para criar uma lista de Limites carrego de um XML usando XStream e tenho um método checkAll que percorre tal lista.
Então, baseado nessa estrutura, como vou passar para a classe LimiteQtdPessoas a conexao, visto que ela faz consulta no BD e retorna. Qual a melhor arquitetura para isso? Dependency Injection fica complicado, pois quem instancia meu objeto é o XStream. A classe de negócio faz a consulta usando uma chamada ao DAO?
Qual o conselho de vocês?
Grato
Peron