MooC的一些设计思路
本文最后更新于 4219 天前,其中的信息可能已经有所发展或是发生改变。

题外话
由于公司业务需要用C做一些实现,和C++不同的是,C并没有太多的库和方案供选择,所以我们只好自力更生,努力重复造车轮。

做技术十来年的时间,说实话底层技术框架自己也写过不少个,不管是个人业余作品,还是公司业务需要的,又或者是参加开源项目所实现的,底层技术框架面临着设计、解决、实现各个方面的问题。这次MooC的设计希望能够首先满足业务的诉求,同时解决技术拓展方面和技术实施方面的问题。

MooC是什么
公司不是以单一产品或者业务驱动的公司,所以在技术实现和业务诉求上要求技术方案能够更快、更方便的实施。从这个角度来说,底层技术框架必须要到达的标准有:

  • 实现业务所需要的代码量尽可能的少;(代码量尽可能的少就意味着工期可能会更短)
  • 框架封装不能影响研发人员理解系统本身;(影响理解意味着出现问题及时解决的可能性会降低)
  • 性能不能有明显的劣势或者临界特殊情况;
  • 可以适当的放弃预期业务使用不到的特性或者功能;

基于以上四点,我们决定设计MooC(More & Original C Framework)框架。

MooC的设计理念
在Online Game的后端实现中,通常的模式是:

  • 用户建立链接
  • 发送登陆请求
  • 返回用户数据
  • 游戏逻辑操作

MooC的设计将以用户消息为主,整个底层以消息接受和消息发送为支撑,基础框架致力于底层系统的搭建,以及通讯协议和通许标准的制定,同时制定请求和响应标准处理流程和方式,并不实际解决具体业务逻辑的处理。

MooC需要涉及的内容

  • MooMem,为提高效率,内存池的实现是必然的
  • MooGC,为方便的管理内存,内部GC的实现也是需要的,但是这个优先级不高
  • MooString,字符串操作处理方式的集合
  • MooVector,C++中vector的C语言实现
  • MooQueue,线程安全和线程不安全的队列的实现
  • MooHashTable,线程安全和线程不安全的HashTable的实现
  • MooLog,Log记录的标准和规范化
  • MooMd5、MooRc4,一些常用加密或者基础算法的实现
  • MooIni,系统配置(server.ini)文件的读取和管理
  • MooXml,常用文件格式的读取(xml、json)
  • MooEvent,epoll、kqueue、select等事件模型的兼容(没办法,公司也许用Linux,自己用mac)
  • MooSocket,Online Game所必不可少的Socket相关支持和封装
  • MooInit,初始化游戏服务器配置和参数读取以及管理的封装
  • MooService,创建游戏服务器所需要的Service相关的方法
  • MooDaemon,游戏服务器以守护进程的方式运行时日志等的特殊处理
  • MooConf,游戏服务器配置文件实时管理系统的对接
  • MooAnalysis,必须系统内部支持统计系统的需求
  • MooDataChange,必须系统内部支持用户数据变更记录系统的需求

先写到这里,其他的随后再补充,

评论

  1. wander
    12年前
    2012-9-10 22:02:22

    已阅,很有帮助
    望楼主提高本博在移动设备上的用户体验

  2. 12年前
    2012-9-19 8:27:34

    第一次聽到MooC這技術…話說博主的Typecho主題很好看,可以告知是如何獲取?%>_

  3. 12年前
    2012-9-26 15:51:20

    不错。。

  4. 11年前
    2012-10-21 22:49:56

    想起当年的moophp了 =.=

  5. lili
    11年前
    2012-12-19 18:50:26

    glib 提供很多基础库。可以看看

  6. 11年前
    2012-12-27 10:36:22

    不错,挺 专业的

  7. 11年前
    2013-1-29 14:57:35

    建议设个站内搜索呀。

  8. 11年前
    2013-2-01 17:16:55

    这个框架开源不?托管在哪里啊?

  9. 11年前
    2013-3-30 12:08:34

    这个框架 moophp 也是你写的

  10. ryan
    11年前
    2013-8-21 10:25:13

    代码量少意味着工期可能会更短,这个~不太靠谱吧~

  11. tommy
    10年前
    2014-8-24 22:28:28

    为什么MOOPHP不更新了啊!!!!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇