**1. 定义:通过复制现有实例来创建新的实例,无需知道相应类的信息。**原理示例如下:
具体代码如下:
2. 原型模式优缺点:
**优点:**通过原型模式是从内存中直接拷贝一份,隐藏了创建新实例的复杂性;相对于new一个对象,速度更快,更高效。重复创建相似的对象的时候,可以考虑使用原型模式。
**缺点:**每一个类必须配备一个克隆方法。深层复制比较复杂。
3. 单例模式与原型模式的冲突
比如,在一个类A中,如果该类的构造函数是private,而且A继承了Cloneable这个类,那么,等于破坏了单例模式。因为原型模式的克隆,绕过了**单例模式的“外部不可通过类的private构造函数构造一个类”**这个原则,从而破坏了单例模式。所以,使用克隆的类,不可以继承Cloneable这个类。代码示例如下:
public class EventTemplate {
private String eventSubject, eventContent;
public EventTemplate(String eventSubject, String eventContent) {