创建型-原型模式

2020/05/17

通过原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

原型模式创建一个对象的方式不是new而是实例对象本身的复制!

原型类接口(依赖倒转原则):

interface Prototype{
     Prototype clone();
}

原型的具体实现类:

class  ContretePrototype implements Prototype{
   
          Int age = 0;
          String name = null;
          ContretePrototype(int age , String name){
                     this.age = age;
                     this.name = name;
          }
          Prototype clone(){
                    return new ContretePrototype(this.age,this.name);
          }
}

使用者:

Prototype  proto = new  ContretePrototype(1,"Json");
//现在我们需要一个新的对象,但是我们希望得到头一个行对象的一模一样的属性
Prototype  proto2 = proto.clone();

通过以上的代码,我们就可以知道原型模式了。

看了看代码,我们发现原型模式虽然生成了新的对象,但是新对象内部的信息是原来对象的拷贝,而且我们是通过一个实例对象生成新的实例对象的!

原型模式可以让使用者在无需重新进行配置的情况下,获得一个原对象的拷贝。在一个对象创建时候参数设置十分繁琐时候十分有用,当然也在需要大量参数一致对象的时候有用。

它和单例模式不同,单例模式的对象永远是一个,而原型模式的对象虽然参数一致但是却是不同的对象。

Post Directory