<Java设计模式>——原型模式:真假猴王难辨

什么是原型模式

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
简单理解一下哈,就是通过实例拷贝一个新的实例,这个让我们想到了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的构造方法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容