一、原型模式的定义和特点:
1.用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象
优点:1.简化了创建对象的过程,以便在需要的时候使用
缺点:1.需要给每个类都配置一个clone方法
2.clone方法位于类的内部 当对已有类进行改造的时候,需要修改代码 ,违背了 开闭原则
二、原型模式的结构与实现:
1.抽象原型类:规定了具体原型对象必须实现的接口
2.具体原型类:实现抽象原型类的clone方法,它是可被复制的对象
3.访问类:使用具体原型类中的clone方法 来复制新的对象
注意:原型模式的克隆分为浅克隆和深克隆
1.浅克隆:创建一个新的对象,新对象的属性和原来对象完全相同,仍指向原有属性所指向的对象的内存地址
2.深克隆:创建一个新的对象,属性中引用的其他对象也被克隆,不再指向原有对象 的内存地址