-
Notifications
You must be signed in to change notification settings - Fork 8
Home
qiunet edited this page Jul 13, 2024
·
20 revisions
DuoDuo的开端是我从业6年后, 偶发的想法. 要把过去踩过的坑, 淌过的雷, 用一种更好的方式避免. 按照以往的做法, 新开的项目, Copy前一个项目的代码修修改改. 这样的问题是你的基础代码如果有问题, 基本以前项目也会需要同步修改. 但是很多时候, 新项目的bug, 老项目早改了, 只是没有通知到新的项目来. 这么几次问题后, 就萌生了基础代码模块统一发布的想法!
最开始的想法是把工具类给统一一个Jar包, 可以各个项目引用, 项目命名为QiunetUtils. 17年时候, 又新起了数据缓存相关(QiunetData)以及网络层的Http和WebSocket (FlashHandler). 三个项目的管理以及以后可能更多让我想把这些当成模块处理. 但是总的项目的名字却怎么都不好取. 叫十全十美? 又或者 TotalProject? 恰逢我人生大事. 在这个过程中, 我媳妇的姨侄女对我自来熟, 在我融入她家庭中起到了神一般的助攻. 就决定用她小名多多来做工程名了(参考MariaDb 这些用自己女儿名字), 也寓意DuoDuo项目的内容越多越好, 多多益善.
代码规避了很多可能在开发出现中的坑点. 然后尽量弱化了配置需求, 使用约定. 会在使用的过程慢慢完善成为一套可以做游戏和App开发的工具模块汇总. Duoduo的原则是 理解后,融入自己的代码中. 所以有问题时候,能够在第一时间反应过来问题出在哪.
- Do Data Object 持久化对象(阿里规范) 负责跟数据库交互的对象
- Bo Business Object 业务对象(阿里规范), 给业务提供支持的对象
- DataSupport 操作数据的类, 会自动搞定异步更新等问题
- Service 处理业务的一些公用方法
- Handler 处理请求的逻辑类. 一个请求一个handler
- BehaviorBuilder 一个模块的行为组织
- Action 测试行为动作
- Cfg 配置文件
- Req Request 请求
- Rsp Rsponse 响应
- Push 推送
支持一个端口上启动多协议的监听!
是否支持 | Tcp | Kcp | WebSocket | Http |
---|---|---|---|---|
Protobuf | √ | √ | √ | √ |
Json | x | x | x | √ |
使用先从 开发准备 开始!
- 开发准备
- Server配置
- 服务启动
- 钩子服务
- 启动上下文定义
- 服务启动配置
- 消息协议头定义
- 类扫描处理
- 事件监听处理
- 事件观察者
- 协议对象定义
- 请求的处理
- 角色逻辑类
- 基础代码的生成
- proto文件的生成
- 游戏业务配置读取
- 服务配置文件
- 状态码定义
- 定时调度
- 奖励消耗格式
- 条件格式
- 服务停止
- Redis锁
- 跨服服务
- 服务节点及通讯
- 行为树配置导出
- 客户端连接
- 断线重连处理
- 业务数据处理
- 远程方法调用
- 远程数据调用
- 压力测试
- 数学公式
- 敏感词处理
- GM指令
- 整体服务组织结构
- 部署打包
- KcpNetty应用
- DTools工具
- Git开发流程