Tô desenvolvendo um sistema, inicialmente, uma aplicação desktop monousuário, e na camada de acesso à dados, decidi utilizar a seguinte idéia para implementação:
um singleton DBManager, que me fornece a conexão com o BD e os PreparedStatement que necessito;
uma interface DBAdapter, que fornece a assinatura dos métodos para que meus objetos efetuem as operações listadas acima. Estes métodos recebem um parâmetro PreparedStatement, que executa a ação no BD;
minhas classes implementam DBManager para que elas saibam por si mesmas se gravar, lerem, etc;
Até aqui, eu acho que está tudo. Porém, estou pensando, para fins de reutilização, criar na interface DBAdapter, uma matriz de String’s, que conterá os nomes das tabelas que cada objeto necessita, bem como a assiantura dos métodos getter e setter para esta propriedade!
Pergunto: isso é viável ou estou complicando demais algo que deveria ser simples por natureza?
Detalhe: apesar de eu saber que existem padrões prontos para isso, como é um projeto novo e também é uma novidade atuar desta maneira pra mim, quero primeiramente entender a aplicação e construção dos conceitos, para depois partir para a utilização de frameworks!
Oi, como eu disse no final da mensagem, a idéia é justamente pensar nessas coisas.
Esse projeto tem idéia de ser comercial, e, entre outras definições, está sendo utilizado duas ferramentas distintas para desenvolvimento, a minha parte (front-end) será feita em Java e a lógica do negócio será feita em C. A minha parte é o front-end, em Java, porém não será um simples formulário para captação/apresentação de dados do formulário, ele terá diversas rotinas a serem implementadas para que, quando eu enviar os dados para os componentes desenvolvidos
mas é mais ou menos um tiro no escuro que estamos dando, tanto pode ser algo que nos dê um bom retorno quanto pode nos dar apenas a experiência. Como estou tendo total liberdade para aplicar meus conhecimentos, não importa o tempo que isso leve, importa apenas a qualidade do produto, então estou aproveitando para ‘reinventar’ a roda!
voce esta certo. para aprender ou aperfeicoar um conceito, nada melhor que reinventar a roda!
sobre as suas classes, acho pertinentes. ams eh legal voce criar uns DAOS, que soh eles tem acesso a suas classes DB*. Eles vao ser os beans que tem cotnato com o BD.