- 主题:新手搭建了一个加油站站控系统,求达人指点一二 (转载)
把存储的接口抽象一下,换数据库也比较容易。
用什么数据库来存,和数据量的大小有一定关系(要估算),还有备份是否方便。
--
修改:z16166 FROM 125.33.227.*
FROM 125.33.227.*
一种可能的方式:
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.*
对于工期紧的项目,前面的其实都是废话,最后有句直接调用impl完事,哈哈
【 在 lipp 的大作中提到: 】
: OMG你想搞死楼主。
:
--
修改:z16166 FROM 125.35.124.*
FROM 125.35.124.*