1: wrapper facade ,天龙的代码是与操作系统无关的代码,即跨平台的代码。所有与平台代码相关的函数调用确实进行了封装,比如FileAPI,SocketAPI
2: 严格的线程划分, 为了消除线程切换引起的隐形消耗,天龙代码进行了严格的线程划分与分配,这一点可以再GameServer的启动函数中体现,由于找不到天龙场景的配置文件,所以在这里不能做相近的讲解。
3: SocketOutputStream,SocketInputStream,两个函数设计最大程度的减少了IO拷贝的次数
4: 数据包简单工厂的设计模式,在之前见到的所有的服务器代码中,设计到数据处理时,都是用了有限量的switch case 进行比配。而天龙使用简单工厂的模式,使用哈希表的数据结构找到对应的数据包工厂,并且进行处理。
5: 最大限度的减少第三方库的使用,在很多的网游设计时,可能大量的使用ACE、boost、stl,而在天龙八部的代码中这些库没有用到,而是巧妙的数组设计。比如GamePlayer,对应Obj_Human。
.......//未完待续.....