设计模式创建型原型模式

编程

一、基本概念

    1. 原型模式:用原型模式实例制定创建对象的种类,并通过拷贝这些原型,创建新的对象;

    1. 原型模式是一种创建型设计模式,允许一个对象再创建另一个可制定的对象,无需知道如何创建的细节;

    1. 通过将一个原型对象传给那个要发动创建的对象这个发动创建对象,这个要发动创建对象通过请求原型对象拷贝自己来实施创建,即 对象.clone().

二、原型模式例子

public abstract class Prototype {

abstract Prototype myClone();

}

public class ConcretePrototype extends Prototype {

private String filed;

public ConcretePrototype(String filed) {

this.filed = filed;

}

@Override

public Prototype myClone() {

return new ConcretePrototype(filed);

}

@Override

public String toString() {

return filed;

}

}

这个例子中自己顶一个了一个myClone()方法,子类去实现深克隆。

该处其实也可以子类可以继承clonable接口interface,然后重写Object的clone方法实现深克隆。

三、深克隆与浅克隆

关于深克隆与浅克隆,之前一篇博客已经完整说了深克隆与浅克隆的区别,和深克隆的五种方式。

Java 对象的深复制五种方式

四、原型模式的注意事项

    1. 创建新对象比较复杂时,可以利用原型模式简化对象的创建过程,同时也能够提高效率;

    1. 不用重新初始化对象,而是动态获取对象运行时的状态;

    1. 如果原始对象发生变化(增加或者减少属性),其他克隆对象也会发生相应变化,无须修改代码;

    1. 在实现深克隆时,可能需要比较复杂的代码;

    1. 缺点:需要为每个类配置一个克隆方法,这对全新的类不是很难,但是对已有类进行改造时,需要修改其源代码,违背了ocp原则。

以上是 设计模式创建型原型模式 的全部内容, 来源链接: utcz.com/z/511950.html

回到顶部