谈谈游戏服务器代码抽象

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

作者在编写游戏服务器代码时发现,传统编程原则如正交性和DRY原则难以严格执行。由于模块独立存储数据,导致数据一致性和复用性问题。作者尝试通过抽象中间结构和复用DB结构来解决,但效果有限。最终,作者建议模块通知框架处理数据存储,以减少不一致风险,提高代码抽象自由度。这种方法在强类型语言中实现复杂,但能提升代码质量和维护性。

🎯

关键要点

  • 作者在编写游戏服务器代码时发现难以严格执行正交性和DRY原则。
  • 游戏服务器的模块独立存储数据,导致数据一致性和复用性问题。
  • 作者尝试通过抽象中间结构和复用DB结构来解决代码复用问题,但效果有限。
  • 模块之间缺乏外键约束,数据一致性依赖于代码逻辑处理。
  • 强类型语言的约束使得开发者需要重复编写相似代码。
  • 作者认为数据库落地的不一致性难以解决,限制了代码的自由抽象。
  • 最终,作者建议模块通知落地框架处理数据存储,以减少不一致风险。
  • 落地框架在合适时机统一处理脏数据,减少服务器崩溃带来的影响。
  • 为强类型语言设计落地框架虽然复杂,但能显著提升代码质量和维护性。
➡️

继续阅读