我开始学习设计模式。我了解到原型模式是用于创建现有对象的精确副本,而享元模式则是用于创建相似对象。
我已经用Java编写了像马里奥一样的2D平台游戏。有很多敌人,它们都相同,唯一的区别是它们的位置[x,y]。还有从大量矩形构建的墙壁,唯一的区别也是它们的位置[x,y]。
在这种特定情况下使用这些设计模式明智吗?我应该使用原型来通过可克隆实现克隆对象,然后设置[x,y]吗?
当我需要新对象时,使用享元更好吗-我只需从哈希映射中返回它们,然后设置[x,y]?
在这两种情况下,我都避免使用new运算符,但我不确定应该使用哪一个。
我已经用Java编写了像马里奥一样的2D平台游戏。有很多敌人,它们都相同,唯一的区别是它们的位置[x,y]。还有从大量矩形构建的墙壁,唯一的区别也是它们的位置[x,y]。
在这种特定情况下使用这些设计模式明智吗?我应该使用原型来通过可克隆实现克隆对象,然后设置[x,y]吗?
当我需要新对象时,使用享元更好吗-我只需从哈希映射中返回它们,然后设置[x,y]?
在这两种情况下,我都避免使用new运算符,但我不确定应该使用哪一个。