原型模式
用原型实例制定创建对象的种类,并且通过复制这些原型创建新的对象。
Prototype Pattern
Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.
类图

模式的结构与使用
原型方法模式的结构中包括两种角色。
+ 抽象原型(Abstract Prototype):是一个接口,负责定义对象复制自身的方法。
+ 具体原型(Concrete Prototype):实现Prototype接口的类。具体原型实现抽象原型中的方法,以便所创建的对象调用该方法复制自己。
克隆方法
理解深克隆和浅克隆
- 1:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。
- 2:被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换

原型模式是一种创建型设计模式,它通过复制现有对象来创建新对象,减少了创建新对象的成本。Java中的原型模式涉及到浅复制和深复制,通过实现Cloneable接口以及重写clone()方法来实现对象的克隆。此外,还可以使用序列化接口来实现对象的复制。原型模式适用于创建新实例成本较高,或者需要动态保存和恢复对象状态的情况。
订阅专栏 解锁全文
3680

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



