generated from filipdutescu/modern-cpp-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
鱼竿钓鱼干 edited this page Jun 21, 2022
·
10 revisions
关于 fishjoy
这个生造出来的词,你可以将其翻译为鱼乐或渔乐
前者来自《庄子·秋水》的鱼乐之辩:”子非鱼,安知鱼之乐?“
后者则是来自小时候玩 Minecraft
时加入的一个游戏服务器名字“渔乐“,在其中被大佬们教授了许多有意思的技术。
因此 fishjoy
这一名字大抵有两层含义,其一:fishjoy
不过是我的鱼之乐罢了,其中很多东西可能显得幼稚、过时入不了大佬们的眼,还请各位在指正缺点的同时口下留情;其二:“授人以鱼不如授人以渔”,在 fishjoy
的编写过程中参考和模仿了很多优秀的教程和开源仓库,从前辈们的教程中可以体会到他们对后辈的关切,希望有朝一日我也能成为像他们一样的人,感受一下授人以渔的乐趣。
fishjoy 定位为 C++ 服务器框架,因此 fishjoy 需要做下面这些事情
- 对操作系统提供的原始 API、机制、数据结构封装成易于调用和理解的基础组件(如将 pthread 封装成简易线程类)
- 编写管理组件对基础组件进行管理(如协程调度器)
- 基于管理组件实现基本功能组件(如基于协程调度器实现 IO协程调度器的IO多路复用功能)
- 将多个功能组件集成到一个框架中( fishjoy 就完成啦!)
关于 fishjoy 的详细设计可以在该 wiki 的其他页面中了解,在此简单说明阅读方式
详细设计分为下面几部分:
- 背景说明:需求分析、概念介绍、背景调查
- fishjoy 详细设计:类、方法API设计,流程设计
- fishjoy 实现:关键代码实现
- 使用案例:简单案例、注意事项(反面案例)
- 其他:性能对比、测试数据、参考资料
- 提高性能
- 提高观测性
- 提高扩展性
- 简化业务代码
- 增加调试机制