什么是原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
简单理解一下哈,就是通过实例拷贝一个新的实例,这个让我们想到了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。
网友评论