为了设计一个比较妥善的框架来支持我底层的一个游戏公式。我想借用一下设计模式的威力。现在来分析一下我的需求:
基本实现:
玩家&砍&石榴树 =(-1精力的)玩家&砍&(木块+木块+木块)
初步构架:
【砍】继承一个【动作】类。
砍的结果与砍的对象的类、实例数值有关【策略模式】,且有随机性。【模板方法模式】
【砍】支持多种参数,如(玩家、石榴树、翻倍石)或(玩家、石榴树),使用多态完成。
动作的多样性支持【装饰模式】,方便对简单的行为进行扩展。比如高级【砍】,会对结果进行修改。等待【砍】获得的结果,可以不先执行。作为一个【待执行的结果】存在。等到触发执行时再给予执行。但该结果应该可以确认是怎样的一种存在,该结果在执行之前可以以这种存在作为凭证,作为另一个动作的参数,通过实现接口完成。在动作类上实现【预先】等接口。这个是否可以用【备忘录模式】进行处理?
因为有了第4点设计,那么,是否需要用到【组合模式】?如果用了【组合模式】重新构架了动作类,那必然要实现【访问者模式】【迭代器模式】对组合模式进行处理。
建造【实体】,如石榴树的过程,我们用【建造者模式】。
不同的实体继承满足不同的动作所需的参数,但内容会有重叠。为了方便检查是否有足够参数,可以建立一个数据类Atrr,用来记录和管理。

5万+

被折叠的 条评论
为什么被折叠?



