《精彩iPhone炫酷开发》试读:2.3.1 定义网络目标

具体设计网络协议之前,最好能了解游戏要达到的目标。构建代码之前先要搞清楚希望代码做些什么,这一点至关重要。如果目标不明确,就很容易迷失在复杂性中,或者最终却要实现具有冲突的需求。 SphereNet 网络化的第一个目标是要保证简单。简单性对于任何类型的代码都很重要,不仅可以减少编写代码所需的工作,还可以减少可能出现的 bug。而这一点在网络代码中尤其重要,因为这些代码必然涉及两个或多个机器间的交互,而此时找出错误源相当困难,很难确定错误发生在哪一个机器上,或者是否介于两个机器之间的某个位置。相应地,这使得网络代码的调试比正常代码的调试困难十倍。 这个游戏的下一个目标是保证可扩展。应当适当设计,从而保证我们能尽可能多地增加新特性和行为而不会破坏之前的程序版本。这在某种程度上与“简单”稍有冲突,不过冲突不大。我们仍努力采用一种简单的方式保证其可扩展性。 接下来的目标是,我们还希望这个应用足够快。一个用户触摸屏幕时,我们希望其他用户能够立即看到圆球的移动。 最后一点,应用应当是平台无关的。这说明要使用一个平台无关的协议,它不仅适用于 iPhone,而且(至少从理论上讲)可以用于任何平台。另外,还需要明确指定网络数据包中如何编码,而不只是使用平台默认的某种格式。尽管这听上去更强调理论意义,不过确实非常重要,即使代码并不脱离 iPhone,但 iPhone 模拟器与实际的 iPhone 就有很多不同,因此即使只是为了在模拟器中测试这一点也是必要的。

>精彩iPhone炫酷开发

精彩iPhone炫酷开发
作者: [美] Gary Bennett, Wolfgang Ante, Mike Ash, Benjamin Jackson, Neil Mix, Steven Peterson, Matthew "Canis" Rosenfeld
副标题: 七位一线高手的编程和设计范例
原作名: iPhone Cool Projects: Learn the Coding Secrets of Master iPhone Designers and Developers
isbn: 7115236518
书名: 精彩iPhone炫酷开发
页数: 204
译者: 苏金国, 王小振 等
定价: 59.00元
出版社: 人民邮电出版社
装帧: 平装
出版年: 2010-10