美文网首页Android开发经验谈Android开发Android知识
<Java设计模式>——原型模式:真假猴王难辨

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

作者: 元涛 | 来源:发表于2017-10-09 17:01 被阅读29次

什么是原型模式

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

相关文章

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

    什么是原型模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。简单理解一下哈,就是通过实例拷贝一...

  • Java设计模式<原型模式>

    Java设计模式<原型模式> 意图 原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思...

  • Java设计模式之04_Prototype(原型模式)

    更多Java设计模式:Java设计模式-目录 原型模式是一种简单、易使用的创建型设计模式,通过给出一个原型对象来指...

  • Java设计模式<组合模式>

    Java设计模式<组合模式> 意图 对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和...

  • Java设计模式<模板模式>

    Java设计模式<模板模式> 意图 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改...

  • Java设计模式<命令模式>

    Java设计模式<命令模式> 意图 将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化 使用场景 ...

  • Java设计模式<策略模式>

    Java设计模式<策略模式> 意图 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换 解决的问题 在...

  • Java设计模式<代理模式>

    Java设计模式<代理模式> 意图 限制对象的访问控制 客户端无需知道代理的对象 和装饰模式的共同点 都能对现有的...

  • Java设计模式<过滤模式>

    Java设计模式<过滤模式> 意图 这种模式允许开发人员使用不同的标准来过滤一组对象 场景 在开JDBC开发中经常...

  • Java设计模式——原型模式

    Java设计模式之原型模式 回顾 Java设计模式系列的上一期写了工厂模式,那么创建类的设计模式还有生成器模式和原...

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/abhpyxtx.html