游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2571|回复: 3

网络服务器设计用到的设计模式2:工厂类

[复制链接]

28

主题

685

帖子

703

积分

高级会员

Rank: 4

积分
703
发表于 2004-10-18 16:27:00 | 显示全部楼层 |阅读模式
我们经常需要对数据库进行操作。读出用户信息,写入用户信息。

这里面有几个地方可以独立出来。

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来继承。

数据库的读写也同样的。

11

主题

1265

帖子

1265

积分

金牌会员

Rank: 6Rank: 6

积分
1265
发表于 2004-10-18 16:39:00 | 显示全部楼层

Re: 网络服务器设计用到的设计模式2:工厂类

[em7]厉害

29

主题

99

帖子

104

积分

注册会员

Rank: 2

积分
104
发表于 2004-10-18 16:54:00 | 显示全部楼层

Re:网络服务器设计用到的设计模式2:工厂类

不懂

0

主题

172

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2004-10-18 18:41:00 | 显示全部楼层

Re:网络服务器设计用到的设计模式2:工厂类

似乎没说到要点……
看不出Factory的目的……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-22 21:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表