引擎与应用逻辑框架
适配器模式
使用 Go 接口机制 + Go反射机制 来加载 具体应用。
如可以规定必须有 main.go 做为入口文件(非必须)
规定必须有一个结构体绑定实现以下接口:func onAppStart()
func onAppUpdate(deta float)
func onAppShutwon()这样 只要在main()函数内 初始化引擎,并传递绑定上述接口的结构体实例,即可开跑。
应用逻辑框架接管 引擎的功能模块的初始化、开启
典型服务直接提供默认实现,并提供可制定差异的接口
如网关服务器,转发消息是主要职能。可能的差异,如:
- 网络数据的不同编解码算法
- 检测到外挂帐号时的处理
那么,只要在这些地方提供接口调用。并提供默认接口实现。具体应用可以根据需要来重新定义这些接口的实现算法(同样是适配器模式)
同理,登录服务器,登录流程是主要职能。差异的地方也是可以全部罗列的。这里不在做更细的分析。逻辑层代码串行化