我现在试图从我的服务器代码中删除上帝对象。
起初我的服务器设计,我决定做World
, 和const
容器对象作为单例。
但是我的服务器是多线程的,单例没有好的解决方案。
所以我管理它并将这些类作为Core
类实例移动。
例如:
class Core
{
...
private:
World world;
CExpTable exptable;
...
};
Core
在新连接上为Session
类提供对对象的引用。
new Session(io_pool.getService(), world, exptable ...);
我只需要该对象的一个实例。但是上帝对象是不好的设计模式,所以我想问,我怎样才能重新设计那个对象,避免它,单例模式设计好吗?