OOP游戏开发随笔--开发历史小故事
2014-12-29 16:35
148 查看
最近乱七八糟的写了一堆东西,大家凑合看.
这里是一个简单的开发历史小故事...
1.开始我们直接用SQL拼接完成这类事情.无非是不断的读表,写表,返回数据
2.然后采用了标准三层结构/ORM框架,把读表/写表变为读取/修改Model对象,保存Model对象,返回数据
3.接着,发现读取比较费资源,于是乎我们把Model缓存起来,大部分时间就变为修改Model/保存Model.返回数据
4.然后,发现写比较频繁也比较闹心,于是乎,把写Model队列起来,变成延迟写入.
5.接着,当我们发现Model和游戏逻辑的映射关系并不那么11对应,于是乎,丢掉了MYSQL,直接存文本,或者直接用NoSQL.
6.但是,依然有一些查询和关联,比较需要SQL,那么变成了文本存档+一些数据MYSQL,于是乎那部分MYSQL又出现了一些历史问题.(其实直接NoSQL查询也可以..)
7.后来,发现文本管理比较麻烦,于是把整个文本塞进了MYSQL,我们又和MYSQL相亲相爱了.
综上所述,MYSQL是个麻烦的东西,我们不断的避开手工对SQL的操作.但是我们又避不开查询对于SQL的依赖.
虽然NoSQL是个替代品,但是在坑踩平之前,NoSQL依然无法取代SQL的地位.
而OOP确实我们需要的东西,直观的对象描述,方便的操作访问,唯一不足的就是无法组织多个根对象的关系,因为你不可能把所有对象都放入内存.
忽然想起来一个当初用过的东西,db4o看似美丽的东西,至少从愿景上是美好的.但是从使用和推广上确实存在众多问题.
我们无需非要抛弃什么,拥抱什么,只不过让擅长人干擅长的事情.
这里是一个简单的开发历史小故事...
1.开始我们直接用SQL拼接完成这类事情.无非是不断的读表,写表,返回数据
2.然后采用了标准三层结构/ORM框架,把读表/写表变为读取/修改Model对象,保存Model对象,返回数据
3.接着,发现读取比较费资源,于是乎我们把Model缓存起来,大部分时间就变为修改Model/保存Model.返回数据
4.然后,发现写比较频繁也比较闹心,于是乎,把写Model队列起来,变成延迟写入.
5.接着,当我们发现Model和游戏逻辑的映射关系并不那么11对应,于是乎,丢掉了MYSQL,直接存文本,或者直接用NoSQL.
6.但是,依然有一些查询和关联,比较需要SQL,那么变成了文本存档+一些数据MYSQL,于是乎那部分MYSQL又出现了一些历史问题.(其实直接NoSQL查询也可以..)
7.后来,发现文本管理比较麻烦,于是把整个文本塞进了MYSQL,我们又和MYSQL相亲相爱了.
综上所述,MYSQL是个麻烦的东西,我们不断的避开手工对SQL的操作.但是我们又避不开查询对于SQL的依赖.
虽然NoSQL是个替代品,但是在坑踩平之前,NoSQL依然无法取代SQL的地位.
而OOP确实我们需要的东西,直观的对象描述,方便的操作访问,唯一不足的就是无法组织多个根对象的关系,因为你不可能把所有对象都放入内存.
忽然想起来一个当初用过的东西,db4o看似美丽的东西,至少从愿景上是美好的.但是从使用和推广上确实存在众多问题.
我们无需非要抛弃什么,拥抱什么,只不过让擅长人干擅长的事情.
相关文章推荐
- 【Visual C++】游戏开发笔记三十七 浅墨DirectX提高班之五 顶点缓存的红颜知己:索引缓存的故事
- 【Visual C++】游戏开发笔记三十七 浅墨DirectX提高班之五 顶点缓存的红颜知己:索引缓存的故事
- 我与Android的故事之- MM应用市场游戏开发
- 关于游戏开发的一点随笔
- 【Visual C++】游戏开发笔记三十七 浅墨DirectX提高班之五 顶点缓存的红颜知己:索引缓存的故事
- 游戏前端开发随笔【2】
- Unity 游戏开发实战学习随笔
- 【Visual C++】游戏开发笔记三十七 浅墨DirectX提高班之五 顶点缓存的红颜知己:索引缓存的故事
- 关于Unity3D开发手机游戏的随笔(一)
- 【随笔】游戏程序开发必知的10大基础实用算法及其讲解
- 历史上第一位从事游戏开发与设计的女程序员
- 【Visual C++】游戏开发笔记三十七 浅墨DirectX提高班之五 顶点缓存的红颜知己:索引缓存的故事
- Unity 3D 手机游戏开发学习随笔
- 游戏开发随笔
- 关于游戏开发的一点随笔
- Unity3D游戏开发学习随笔
- 【Visual C++】游戏开发笔记三十七 浅墨DirectX提高班之五 顶点缓存的红颜知己:索引缓存的故事
- 学习游戏开发经典网站
- 电子游戏历史
- 历史上禁玩的三个游戏