基于ActionScript3.0的休闲游戏软件开发与应用(4)
时间:2017-03-20 20:20 来源:毕业论文 作者:毕业论文 点击:次
1.3.3 Action Script 3.0的优点 Action Script 3.0 包含一个 flash.text 包,它提供与文本相关的所有 API。这种语言支持类型安全性,使代码文护更轻松。与其他语言相比,这种语言相当简单,很容易编写。开发人员可以编写具有高性能的响应性代码。这种语言向后兼容Action Script 2 并向前兼容 ECMAScript for XML。 2 Flash软件架构分析 前端程序主架构有两个主要任务:第一个任务,是从架构高度合理划分前端各模块,提出可行的实现方案;第二个任务,是从AS级别搭建程序架构(非文档级别),制定前端编程规则和接口,规范程序各部分的职责划分。 这两个任务其实包括很多具体工作,比如:游戏启动流程制定,确定哪些SWF文件需要外部加载,哪些功能可以从主程序剥离出去单独实现,前端配置文件怎么处理,公共素材怎么处理,MVC三层怎么划分,主程序框架的选定,主程序如何和后台通讯,主程序如何与模块协作,哪些代码应当放在主程序中,哪些代码应当放在模块里,主程序如何既能提供模块所需要的一切功能和数据,同时又相对模块自我保护等等。 2.1 Flash游戏软件的发展现状 笔者只讨论两个比较核心的内容,即前端AS框架和模块划分的问题。 前端框架,现在市面上流行很多前端框架,不管是针对FLASH的,FLEX的还是通用的都有。是否一定需要框架,或者必须使用某个框架,从最终的结果上讲,有一点至关重要:必须能完全把握架构和使用的框架,并能跟前端解释清楚。好坏架构的区别在于好架构几乎可以套用到大部分项目,并可以不断完善它,开发越来越轻松,速度却越来越快。 Pure MVC框架正如其名字,是一款“纯粹”的MVC框架,实现了MVC的编程思想和套路,其它多余的功能一点没有,这使它具有更高的通用性。Pure MVC既然是一种MVC框架,这就意着首先要熟悉MVC。这种熟悉绝对不是对MVC的直译:模型、视图、控制器,而是要清楚为什么要把程序划分成这几部分,在划分主程序模块时,要时刻能站在MVC的角度考虑问题,第一,模型部分在实际开发中除了存储数据,还要给Command和Mediator提供接口,响应用户操作,进行数据操作或者请求远程数据服务,进行数据的序列化和反序列化,得到异步数据后可能还要检查数据合法化。但不管怎么样,它始终是在和数据打交道,同时也应该是主程序中唯一可以直接和数据打交道的管道,别的部分要想和数据有接触,首先经过它的允许。模型处理完数据会以Notification的消息方式通知Command或者Mediator。但绝对不能在Proxy中直接调用Mediator,这是为了保证数据层的独立性、可移植性和重用性,也简化了架构思想。第二是Command的使用,在Pure MVC框架中,各部分通讯是用Notification消息,Proxy可以给Command和Mediator发消息,Command可以给Command和Mediator发消息,Mediator可以给Command和Mediator发消息,其实Pure MVC框架这么设计本来是为了让MVC各部分尽量脱耦,但这带来一个负面情况就是消息发送与接收机制设计得太灵活了,灵活对小项目是好事,但对大项目来说,往往意着混乱,甚至会导致灾难。解决这个问题只能靠自我约束,简化架构思想了。根据《Pure MVC最佳实践》中的建议,尽量使用Command,让Command成为Mediator与Proxy之间通讯的唯一桥梁,Mediator和Proxy中发出的Notification,接收者一定是某个Command,然后再由Command处理并将结果转发给真正的消息接收者,Command就算仅仅起一个转发作用,仅仅有不到10行代码,也要创建一个Command类。这样不仅使架构更加清晰,而且也更符合MVC思想,Command类的大量存在还使架构的业务逻辑具有了更好的封装性和扩展性。唯一的负面影响可能是你需要创建和文护更多的Command类文件。 (责任编辑:qin) |