需要Prototype设计模式?
到底什么时候我们会选择原型设计模式? 我从各种资源中了解到的是,当我们使用新的操作符或者当我们想要对象的运行时初始化时发现实例化类时使用该模式。 那么,我们究竟能够使用new运算符来定义一个类的实例化成本呢? 当类定义包含太多的字段,并且以后很少会改变?
为每个新游戏设置的所有玩家实例化一个棋盘将会太昂贵,无法使用新运算符实例化?
有人可以通过相同的光线?
确实Prototype模式与OOP没有多大关系。 即它只是一个解决方法来提高性能(特别是在Java中)。 这个想法是,当你看到使用new 直接创建对象代价很高时,只需克隆 现有对象而不是新创建。
你可能在这里提出的一个问题是,它们是指那里的同一个对象(同一个内存),还是它们不同? 事实上,他们之后是2个独立的对象(记忆)。 只有创建第二个对象才能克隆第一个对象。 此后他们是不同的实体。
到底什么时候我们会选择原型设计模式?
如上所述,如果您认为直接创作需要很多时间。 即昂贵的操作在那里(例如:db访问等)。 而且你认为克隆将会更便宜,并且不会损害业务逻辑。 即创建时的克隆属性不会成为问题。
---------关于棋盘问题----------
是的,你确实可以在那里应用原型模式。