|
|
我们经常需要对数据库进行操作。读出用户信息,写入用户信息。
这里面有几个地方可以独立出来。
1、其实不一定要写到数据库,我们可以写到文件或者由专门一台服务器来管理,直接传到那台服务器。因此可以把Persist类独立出来。
class IPersist
{
void writePlayer(PLayer &player);
void readPlayer(PLayer &player);
}
class PersistFactory
{
public :
IPersist *createPersist(const char *type);
//type 可能是file,database或者network
当然这里面还可以设计成为一个单体类。因为这个东东只会存在一次。
}
另外一种做法就是设计成策略类。
class Persist
{
public:
void writePlayer(Player &player);
private:
Persist_impl *_impl;
}
然后将对应的操作从Persist_impl来继承。
数据库的读写也同样的。 |
|