15:40 2009-6-14
大型游戏的关键需求:
+ 灵活方便的UI界面
~ 方便的UI开发包
~ 方便的UI编辑器
+ 灵活强大的游戏编辑器
~ 编辑地图
~ 编辑游戏演员
+ 快速的进入测试
~ 运行时编辑游戏中的可编辑元素,包括UI,游戏演员,地图等
粗略想法:
1
~ UI可以做成一个单独的库,并且提供简洁的接口。UI编辑器作为库的一部分提供。
~ 游戏编辑器用于编辑特定的游戏,因此可以搭建在通用编辑器上。
~ UI作为通用编辑器的一个部分。
~
21:16 2009-10-26
关于软件的重用
重用有时间长短的差别,unix下面的管道就是时间长的设计,而onyx、flash里面的脚本重用就是时间比
较短的设计。
重用的时间长短,取决于具体的情况。
再灵活的系统也有局限性,再局限的系统也有灵活性,要懂得把握分寸。
关键字理解
可维护性:
很好的跟踪错误并修复
可复用性
新的功能可以通过复用现有的大部分代码完成
可扩展性
加入新的功能无须修改现有代码
好的设计能够使得完成这些目标非常容易。
读《java与模式》:
接口隔离原则:
使用多个专用的接口比只使用一个杂的接口好。
接口按角色来合理划分,不应该将几个不同的角色都交给一个接口,而应该交给不同的接口。
定制服务:
整洁,各斯其责。
可维护性。一个public接口就是一种承诺,不能做过多的承诺。
对可变性的封装原则:找到一个系统的可变因素,并将他封装起来。
面向对象的语言提供了多态来动态绑定可变的因素。其实这只是一种方法,而且只是其中一种。还有很
多更好的方法,比如动态连接库,管道。这些设备具备更好更强大的灵活性。
其基本思想是:在程序中设计一个可以和其他程序协作的接口。这种接口,大到进程,小到一个函数,
都扮演着一样的角色。
20:07 2009-11-4
简单问答 (Q=我的一个QC朋友,A=我)
Q:你们写的程序为什么有这么多BUG啊
A:写程序需要考虑的因素太多了,考虑不到的情况就出现BUG了
分析:
封装的重要性:尽量将细节封装起来,并以一种很好维护的形式来组织。比如以角色,责任等。这样程
序员的视角就可以就可以放在一个比较固定的范围内,程序员就可以考虑得更全面和细致。
如果一个程序内部对象的职责划分不清,使得用例不能很好地分布到对象上,那么一些用例就散落到多
个对象上,导致程序员很难建立完整的模型,这必然使得问题考虑失误。
明确需求。没有程序能考虑所有问题。但是如果在需求范围内的问题都解决不了,就是程序的问题了。
关于软件质量
需求的变更
好的需求分析是好的设计的前提。
设计的灵活性
再灵活的设计如果不能满足需求也等于0。在不明确需求的情况下,设计根本谈不上好坏。
21:01 2009-11-9
几个值得注意的关键点
维护性:很好的跟踪错误并修复
复用性:新的功能可以通过完全复用现有的代码完成
扩展性:加入新的功能无须修改现有代码,只需要添加新代码即可
稳定性:遇到大数据等复杂输入能正常运行
安全性:可轻松防御恶意攻击
21:22 2009-11-25
unix编程艺术:管理复杂度
c++沉思录:用抽象管理复杂度
li.song大人:模块协作。用通信来划分模块,用模块来分割复杂度(抽象就是一种以接口来实现模块间通信的手段)
2009-11-25,2009-6-14
最新推荐文章于 2023-06-03 11:43:27 发布