美文网首页
跟诸子学游戏 请求发送链

跟诸子学游戏 请求发送链

作者: 诸子百家谁的天下 | 来源:发表于2018-07-18 15:44 被阅读13次

当我们点击一个button的时候,有2条平行线,一条是打开一个界面(view),另一条是一个网络请求.

异步等待数据:

打开一个界面但是服务器数据没有返回,这时的界面会显示空白,可以做提示,等到服务器数据返回进行数据刷新.好处是不卡主线程,界面仍然流动,坏处是需要多在下一个界面做提示信息,并且处理多线程问题.

同步等待数据:

点击button展示一个loading的提示框,等待服务器返回数据,数据返回之后,再将数据传输到界面直接进行展示.好处是节省资源与时间,坏处是用户体验可能不好,网络延迟时,会造成用户流失率严重.

请求时机:

当点击button的时候,后面的连续响应链,是在哪个响应链/响应点上面去请求,是个极大的问题,需要多做考虑.如:点击button的一瞬间,界面打开一瞬间,刚打开的时候,打开完毕之后,稍等个几秒再做请求,都是需要和设计模式契合才能带来效率,不然就是个天坑.

回调方法:

1:回调方法是和请求方法写在一起,即C++中的lambda表达式,C#中的匿名函数,C中的指针函数,OC中的block块,Lua中的方法传递等等,好处是不用再费力去寻找回调方法了,直接从请求那个点向下一直写代码,坏处是对此语言机制不理解,造成内存泄露以及其他问题等.

2:回调方法和请求方法不写在一起,并且分割开来,分文件或者分区域写.好处是代码看起来不杂乱,不会出现语言机制的错误(因为这样很容易做),并且可以使用设计模式进行操作,坏处是,如果没有文档,只有函数调用,你需要花时间去寻找其中的请求方法/回调方法,然后打log进行一步一步解析,在不好的设计模式中,极大的耗费程序员的精力.

解析数据:

1:写在网络请求回调的地方.好处是清晰可见,坏处是代码量臃肿,不能很好的配合设计模式.

2:单独操作数据解析,做法就是写一个公用类,哪里需要哪里调.好处就是封装,不需要调用者知道,坏处是公用类方法很多,有理解不清晰的问题.尤其写lua时,没有规范很容易出现此类问题,消耗时间.

数据保存:

1:数据保存在当前界面的属性上面.好处是使用方便,更改方便,坏处是不符合设计模式,不规范没有MVC的设计思想.

2:数据保存在model中,保存在model中需要在controller里面解析出来,利用方法传递给view层,更新界面,如果将model数据传递给view层,完全破坏了MVC设计模式,更不能直接属性传递,然后刷新.需要保持view的洁净,完全就是view里面的操作,不包含一点数据.与外部操作只用方法/通知/观察等互通有无.

相关文章

  • 跟诸子学游戏 请求发送链

    当我们点击一个button的时候,有2条平行线,一条是打开一个界面(view),另一条是一个网络请求. 异步等待数...

  • 跟诸子学游戏 游戏流程

    游戏项目开发流程: 一般一个手机游戏开发都需要立项,在立项确定开发之前一般会进行市场调研。 1.市场调研的工作一般...

  • 跟诸子学游戏 动画

    在unity3d中,有6种动画可以使用 animation animator TimeLine 自定义动画(如:定...

  • 跟诸子学游戏 特效

    三要素:①:元素②:节奏③:色彩.

  • 跟诸子学游戏 游戏系统介绍

    1:渲染系统 2:输入系统 3:声音系统 4:物理系统 5:动画系统 6:人工智能(AI)系统 游戏引擎包括:Un...

  • 跟诸子学游戏 游戏类型

    RPG游戏:角色扮演游戏.经典如最终幻想. ACT游戏:动作游戏,也包含(STG)“射击游戏”和(FTG)“格斗游...

  • 跟诸子学游戏 群组算法

    群组算法:表示一群动物的行为,需要设置一个目标点,主要有分离,队列,聚合3中状态; 分离:物体之间保持的距离较近,...

  • 跟诸子学游戏 Lua基础

    1:使用闭包创建迭代器 2:泛型for保存状态变量和控制变量,将状态变量传入迭代器,进行迭代,这个属于无状态迭代器...

  • 跟诸子学游戏 角色控制

    Slope Limit:坡度限制。该参数用于设置自所控制的游戏对象只能爬上角度小于或等于该参数值的斜坡。 Step...

  • 跟诸子学游戏 Navigation mesh

    导航:从一点走向另一点,需要模拟阻挡,路径选择,可行走形,地形特点,行走行为拟人化的现实表现. A*算法:起点到终...

网友评论

      本文标题:跟诸子学游戏 请求发送链

      本文链接:https://www.haomeiwen.com/subject/xueqpftx.html