这几天在整理DataHelper类库,支持oracle和sql server。同事认为应该应用工厂模式,提供一个数据库标识参数,返回具有统一接口的datahelper.但我认为这样意义不大,首先应用设计模式是用来封装变化的,这里如果我么的软件要支持多数据库,那么必然会分别针对不同的数据库写多套sql语句(因为不同数据库之间的函数等都不尽相同),而这就相当于1对1的关系,无所谓变化。另外引入工厂模式无疑会增加程序的复杂度,性能也可能会受到影响。各位你们的意见呢?