简单Elixir游戏服设计- PlayerServer 怎么设计?
通常,所有的玩家的操作都会经过玩家进程去处理。那么当玩家的操作很多的时候
该怎么去设计划分呢?(比如你有任务模块、充值模块、不同玩法模块的时候)。
在以前的项目中,大家是这么做的,以数字编码模块,
比如 handle(1xxxxx) 处理登录 handle(2XXXX)处理任务等等。
然后1xxxx 一个文件, 2xxxx 另一个文件。
调用就经过一张路由表去做。
不是说这种方式不好,而是觉得这种方式偷懒省去了api。
另外这种方式通常把socket交由玩家进程去处理了, 流的编解码也放到玩家进程去了,导致代码不清晰,
继而也就不好测试。
====================================================
我以前会用exactor 去简化api和处理代码,会用点元编程去引进另外文件的处理代码。
但现在觉得没必要,因为自己用少量的代码也可以做到想要的效果,还更清晰。
提交的只是分离PlayerServer的调用到不同文件的演示。
具体看代码吧,也许有更好的做法,而我不知道。
============================================
刚刚忘记去掉use 用法了,因为用了apply 后就不需要了,
再导入处理模块了。用了反而会造成冲突。