向高手请教?怎样实现这样的DAO模式

我的产品结构是这样的
CustomerDAO-> 第一层
RdbCustomerDAO | OdbCustomerDAO ->第二层
SybaseCustomerDAO,OracleCustomerDAO|XXCustomerDAO,XXXCustomerDAO
上面的不同DBMS是第三层,第四层描述如下,假如我用hibernate+sybase 的SQL实现了SybaseCustomerDAO,但如果以后要换JDO+sybase的语法实现SybaseCustomerDAO。
请问使用怎样的模式才能实现呢。如果能有代码实例更是感激不尽^_^

可以使用工厂模式:


CustomerDAO为接口,其它为其子类,使用CustomerDAOFactory专门指定具体子类即可。