请教精通设计模式的高手,webgame的基本模式问题。 没做过,ajax估计做不了ajax是单项通信,连续请求量很大,看过用http长连接的至于其他,你还是按面向对象思想来设计吧对象 事件 属性 方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ajax只需要用到一点点的。而且我说了。功能上的实现不用担心。这么说吧,所有功能都已经实现了。包括ajax的模拟即时交互和效率问题。所以其他的不用考虑。只需要考虑最高层的模式就行了。 说实话,我没看明白你的内容和我对WEBGAME的想法不一样还有,为什么一定要用设计模式呢?我只引用一句话, 当您手中拿着一把锤子时,所有事物看上去都像钉子 没做过,只是想了一下1、最高层模式是什么模式或者选什么模式比较合理?2、目前我自己认为的模式是否比较合理或者有更好的优化办法?————————————————————————————按你理解,模式是一种抽象设计,关键是web能否顺利实现3、Task如何加入? 任务可以分事件和状态,任务可由多少人执行,状态是改变的,任 务可以分单人和多人 任务单例类,后台单例4、ajax与Trigger与定时器如何结合更好?(因为ajax属于纯功能了,但是Trigger又会用到。最关键的是一个是js,一个是php...) 定时器既是web的,可用js,后台也同时设,存数据库5、UI包(可能会有多套UI)、语言包(可能需要多语种)、对话包等,如何合理的加入到游戏里?(数据库?填表?ini?) 对话包可以js设计,执行动作时发送,如果事件不用js触发,则要后后台发事件代码或包——————————————关于设计或开发模式,可参考一下 uml模式,会将你的逻辑分的很清楚 fxs_2008,谢谢!你所讲的“任务单例类,后台单例”。我收了。Task貌似跟系统本身关联不大。跟像是一个玩家。只不过这个玩家如何操作都固定好了。模式问题上,我想问的只是在抽象层上,算不算基本合理。不考虑实现。定时器是服务端的,Trigger起的是计时器的作用。暂时的写法与fxs_2008讲的类似。但总觉得还有更优的方案。包的问题,主要是如何与现有类结合起来。对话用js是肯定的,对话包需要某种方式存在某个地方也是肯定的;问题是对话包如何加载到Action里,是新建个类,还是把对话作为Action里的一个属性,还是接口?(貌似做接口是好办法...)willko,谢谢!我想我肯定理解模式,但是不够熟悉。这也不是死抠,而是东西繁琐了,的确需要用到。 个人觉得对话包作为action里比较好,作为atcion的属性或方法action作为一个动作,触发时就给出或输出相关对话信息,这是系统级用户级的直接输出就行了 那么在action里增加一个方法。对话。读取对话包的工作交给里面具体的类解决。Trigger上,我有新的想法,就是先做一个js函数。参数为 (时间量,正在进行文字,结束文字),功能为倒计时,时间到时通过ajax获得新参数。同时专门做一个Action_Time表保存时间等参数。id begintime,endtime,needtime,actionid(或actionname),state.这样,当通过Trigger调用某个action的begin()时,action返回aciton的name或id,needtime,正在进行文字。存入Action_Time表。同时执行begin()内的数据操作。前台的js根据Action_Time表以及begin()返回的文字,就可以显示倒计时了。前台的js在到计时到了后,会先通过ajax获得Action_Time表里的时间来验证是否真的到时间了,确定到了后,再执行end(),并调用end()的返回价值。同时,定时器不断的检查Action_Time表的情况,当时间到了。状态未改变时,说明前台js没有运行,则后台,根据表的状态,执行end(),返回结束文字(不管前台有没有显示。)。同时执行end()内的数据操作。fxs_2008觉得这样可行不? 服务端只需要保存各种对象状态即可.其它的,就是JS架构的事.别把MVC框架的那一套用过来. webgame 最重要的是执行效率,而不是开发效率.... 另外,这跟MVC一点关系都没有。 MVC 只是我举的个例子.对于webgame JS 就当是内存了.PHP就当是硬盘了.AJAX就当是数据存储操作了.继续讨论 设计模式. 挺有意思的,我认为mvc不管多少层,无非是解耦是程序有更好的延展性,关于模式,我自己的理解,把模块划分好,按功能划分,后台采用心跳机制,定期更新数据库缓存,把数据分成重要的和不重要的,减小服务器负担,前端数据要处理好效率,不管哪种模式,最重要的能解决解耦,和分工开发好维护就可以了,模块划分之后,进行类库和接口的设计,每次数据更新要验证数据的合法性,应该牵扯到模块的通信吧,每个模块可留好写接口的位置,进行通信把,前端UI最好要自己写一套,因为根据游戏不通,需要的UI功能也不同,最好自己写一套,具体UI怎么写,根据功能而定吧,各UI如何处理,如何封装,需要探讨,呵呵,本人菜鸟,希望没有误导你,嘿嘿 php文件名和文件内容是乱码的问题。 周视图显示... php判断用户输入验证码是否正确 PHP调用Java类的常用方法是什么? 高分!求静态新闻列表分页函数!!!!!!!!!!!!!!!!!!! 正则里比较怪异的一个关于乱码的问题. phpmyadmin能不能打一个数据库里所有数据表里指定的内容一块替换掉 怎样用php 来 根据DTD的合法性检验 xml !!!!!!!!!!!!!!!!!!! 帮忙写个截取字符串的东西 PHP资源占用问题 php关于局域网访问共享文件问题 谁有PHP生成不失真高清晰缩略图的代码啊???
而且我说了。功能上的实现不用担心。这么说吧,所有功能都已经实现了。包括ajax的模拟即时交互和效率问题。所以其他的不用考虑。
只需要考虑最高层的模式就行了。
和我对WEBGAME的想法不一样还有,为什么一定要用设计模式呢?
我只引用一句话, 当您手中拿着一把锤子时,所有事物看上去都像钉子
2、目前我自己认为的模式是否比较合理或者有更好的优化办法?————————————————————————————按你理解,模式是一种抽象设计,关键是web能否顺利实现3、Task如何加入?
任务可以分事件和状态,任务可由多少人执行,状态是改变的,任 务可以分单人和多人
任务单例类,后台单例4、ajax与Trigger与定时器如何结合更好?(因为ajax属于纯功能了,但是Trigger又会用到。最关键的是一个是js,一个是php...)
定时器既是web的,可用js,后台也同时设,存数据库
5、UI包(可能会有多套UI)、语言包(可能需要多语种)、对话包等,如何合理的加入到游戏里?(数据库?填表?ini?)
对话包可以js设计,执行动作时发送,如果事件不用js触发,则要后后台发事件代码或包——————————————关于设计或开发模式,可参考一下 uml模式,会将你的逻辑分的很清楚
谢谢!
你所讲的“任务单例类,后台单例”。我收了。
Task貌似跟系统本身关联不大。跟像是一个玩家。只不过这个玩家如何操作都固定好了。模式问题上,我想问的只是在抽象层上,算不算基本合理。不考虑实现。定时器是服务端的,Trigger起的是计时器的作用。暂时的写法与fxs_2008讲的类似。但总觉得还有更优的方案。包的问题,主要是如何与现有类结合起来。
对话用js是肯定的,对话包需要某种方式存在某个地方也是肯定的;问题是对话包如何加载到Action里,是新建个类,还是把对话作为Action里的一个属性,还是接口?(貌似做接口是好办法...)willko,
谢谢!
我想我肯定理解模式,但是不够熟悉。
这也不是死抠,而是东西繁琐了,的确需要用到。
action作为一个动作,触发时就给出或输出相关对话信息,这是系统级
用户级的直接输出就行了
读取对话包的工作交给里面具体的类解决。Trigger上,我有新的想法,就是先做一个js函数。参数为 (时间量,正在进行文字,结束文字),功能为倒计时,时间到时通过ajax获得新参数。同时专门做一个Action_Time表保存时间等参数。id begintime,endtime,needtime,actionid(或actionname),state.这样,当通过Trigger调用某个action的begin()时,action返回aciton的name或id,needtime,正在进行文字。存入Action_Time表。同时执行begin()内的数据操作。前台的js根据Action_Time表以及begin()返回的文字,就可以显示倒计时了。前台的js在到计时到了后,会先通过ajax获得Action_Time表里的时间来验证是否真的到时间了,确定到了后,再执行end(),并调用end()的返回价值。
同时,定时器不断的检查Action_Time表的情况,当时间到了。状态未改变时,说明前台js没有运行,则后台,根据表的状态,执行end(),返回结束文字(不管前台有没有显示。)。同时执行end()内的数据操作。fxs_2008觉得这样可行不?
其它的,就是JS架构的事.
别把MVC框架的那一套用过来. webgame 最重要的是执行效率,而不是开发效率....
PHP就当是硬盘了.AJAX就当是数据存储操作了.继续讨论 设计模式.