PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Padrões de Projeto: fábrica com múltiplos objetos de conexão a bancos de dados #407579

12/09/2011

0

Boa tarde, senhores.

Estou alterando um framework para que vários bancos de dados possam ser acessados em uma mesma sessão de trabalho.

Ele é oriundo de Java, utiliza fábricas abstratas e métodos de fábricas.

Em sua versão original, acessa um único banco de dados e as classes de negócio da camada DAO são especializadas conforme o engine (ADO, BDE, DBX...). Já estou mudando isto, de modo que a classe de negócio não seja vinculada a um engine.

Um de meus clientes possui várias lojas. Periodicamente, precisa carregar dados de cada uma delas: vários bancos de dados com a mesma estrutura. Hoje são MS-Access com ADO, amanhã serão Firebird com ADO ou DBX. Os parâmetros para conexão são obtidos a partir de arquivos de configurações (.ini).

O novo framework, então, precisa ser capaz de permitir a manipulação de n (ene) bancos de dados em uma mesma sessão de trabalho. A informação de qual banco de dados foi selecionado partirá da camada de apresentação, será passada à camada de negócios e chegará à camada de acesso a dados. Pergunta-se:

Qual a melhor forma de trafegar a informação entre as camadas?

Uma opção é acrescentar ao DTO (objeto de transferência de dados) uma propriedade correspondente à origem dos dados: seu valor seria o nome da fábrica. O objeto de negócios usaria esta propriedade para ativar um objeto da fábrica adequada.

Esta não é uma opção convencional, mas me parece prática e, até onde analisei, não fere as boas práticas de arquitetura. Por isto agradeço comentários e sugestões.
José Silva

José Silva

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar