原型模式是创建型设计模式,可以复制已存在的对象而无需依赖它的类。
假如现在有一个对象,我们想完全复制一份新的,我们该如何做?
很好,但是我们会发现存在如下问题:
这个时候我们就需要原型模式。原型模式将克隆过程委托给被克隆的对象。该模式为所有支持克隆的对象声明一个公共接口,这个接口允许克隆一个对象,而不必将代码和该对象的类耦合。通常,这样的接口只包含一个克隆方法。
克隆方法的实现在所有类中都非常相似。该方法创建当前类的一个对象,并将旧对象的所有字段值转移到新对象中。这样就可以复制私有字段,因为大多数编程语言都允许对象访问属于同一类的私有字段。
原型模式包含如下角色
在Java中,所有的类都继承了java.lang.Object。Object提供了clone方法能实现Java对象复制。
我们只需注意两点即可。
https://refactoring.guru/design-patterns/prototype
原文:https://www.cnblogs.com/zcr3108346262/p/12209384.html