设计模式类型
创建型设计模式
设计模式名称
原型模式
模式定义
原型模式(Prototype Pattern)也是一种类的创建型模式,用于创建复制的对象,同时又能保证性能,使用原型模式创建的对象,具有与原型相同的对象数据。
UML
按照客户的层次可以分为:
1、浅度克隆
它只是完整的复制了值类型的数据,没有赋值引用对象。换句话说,就是所有的引用对象仍然指向原来的对象
2、深度克隆
堆内存中也复制了一份,实际是两个对象
应用场景
1、标对象的创建这一动作发自原型对象本身
2、目标对象是原型对象的一个克隆。即通过Prototype模式创建的对象,不仅与原型对象有相同的结构,还与原型对象具有相同的值
3、根据对象克隆的深度层次不同,分为浅度克隆与深度克隆
优缺点
优点
1、配备克隆方法需要对类的功能进行通盘考虑,这对于全新的类不是很难,但对于已有的类不一定很容
缺点
1、 对于全新的类使用原型模式比较容易,但是对于原有的类使用克隆模式比较困难,需要通盘考虑,当一个类应用循环结构时。
git地址:
https://github.com/wonlon/Design-patterns