——原型模式:真假猴王难辨

什么是原型模式

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
简单理解一下哈,就是通过实例拷贝一个新的实例,这个让我们想到了java里面的clone()方法,对啦,就是这么的简单!

甭磨叽,上代码

class Simple implements Cloneable{

    @Override
    public Simple clone(){
        Simple simple = null;
        try{
            simple = (Simple)super.clone();
        }catch(CloneNotSupportException e){
            //异常信息
        }
    }
}

使用场景

  • 不想使用构造函数创建对象,那么就可以使用clone方法,这样可以避免传入过多的构造参数。

原型模式的思考

再看一些开源库的代码的时候,发现一个很类似原型模式的方法,只是它通过构造方法实现的,而不是clone()。
例如okhttp里面的OkHttpClient的newBuilder()方法,这个可以很好的根据当前已有的OkHttpClient,创建一个新的OkHttpClient。

newBuilder方法
OkHttpClient的构造方法

你可能感兴趣的:(——原型模式:真假猴王难辨)