设计模式(8)- 原型模式

原型模式

1.定义

       用原型模式指定创建对象的种类,并通过拷贝这些原型创建新的对象。

2.示例代码

      

/*声明一个克隆自身的接口*/
public interface Prototype{
    /*克隆自身的方法*/
    public Prototype clone();
}

/*克隆的具体实现对象*/
public class ConcretePrototype implements Prototype{
     public Prototype clone(){
          /*最简单的克隆,新建一个自身对象,由于没有属性,就不在复制值了*/
          Prototype prototype = new ConcretePrototype();
          return prototype;
     }
}

   

/*使用原型的客户端*/
public class Client{
    /*持有需要使用的原型对象接口*/
    private Prototype prototype;
    /*构造方法传入需要使用的原型接口对象*/
    public Client(Prototype prototype){
         this.prototype = prototype;
    }
    /*示意执行某个操作*/
    public void operation(){
       //需要创建某个原型接口的对象
       Prototype pro = prototype.clone();
    }
}

3.实际应用

       原型模式的客户端只知道原型的接口类型,并不知道具体的实现类型,从而减少了客户端对这些具体实现类型的以来,原型模式最大的缺点就在于每个原型的子类都必须实现clone操作,尤其在包含引用类型的对象时,clone方法会比较麻烦,必须要能够递归的让所有的相关对象都要正确的实现克隆。

原型模式的本质:克隆生成对象

猜你喜欢

转载自renhanxiang.iteye.com/blog/2407648
今日推荐