一种可能的方式:
db定义一套interface,这个interface主要是提取数据库的connect/auth/close、prepared statement execution、transaction commit/rollback等通用操作。interface类和数据库类型不是紧耦合的。
然后搞一个Impl类(Implementation),这个Impl类实现上面这个interface。不同的Impl类可以对应不同的数据库类型比如mysql等,Impl类和数据库的API是紧耦合的,比如直接调用的mysql的C API。db interface类中有个成员变量是一个Impl对象,通过更换保存的Impl对象,可以更换数据库类型,比如换成SQL server或者PostgreSQL。
业务的存储模块把业务数据(加油站数据)传递给db interface,而不是直接和Impl类的对象打交道。
也就是通过增加一个中间层,获得了一点耦合上的自由度。
看看行不。时间紧的话,就是直接调用Impl类完事。
【 在 qzrk 的大作中提到: 】
: 您好,谢谢您的宝贵建议,我是一个新手,大概能感觉到您说的接口抽象化的意思。能
: 否请您再稍微给我科普下抽象化的具体实现方式?谢谢
:
: ...................
--
修改:z16166 FROM 125.35.124.*
FROM 125.35.124.*