Olá pessoal,
Posso tirar algumas duvidas e algumas criticas? Sou novo na orientação a objetos, contudo já sou desenvolvedor há mais de 10 anos em outras linguagens.
Montei este modelo para conexão com o banco de dados. A idéia é utilizar padrão SQL ANSI de forma que eu faça o desenvolvimento em um banco (MySQL por exemplo) e alterando um único parâmetro em uma classe de configuração seja utilizado outro (Oracle por exemplo).

A principal é a classe ?conexao", que deve ser instanciada nos DAOs, através dos seus métodos.
ServidorSQL é uma classe abstrata, herdada e por SrvMySQL e SrvMySqlServer. Estas ultimas devem implementar os métodos abre, fecha, seleciona e executa.
De acordo com o atributo ?tipoServidor? do objeto BancoDeDados, um atributo de conexão, a classe ?conexao? decide qual dos objetos (SrvMySQL / SrvMySqlServer) deve instanciar e utilizar.
Este modelo me parece funcional, mas estou com duvidas se criei a melhor solução utilizando a orientação a objetos, ou então se eu ainda posso fazer melhor.
Obrigado!