原型模式

使用场景:

  • 类初始化需要很多资源,包括数据,硬件资源等,通过原型拷贝可以避免这些消耗。
  • 通过new产生一个对象需要非常繁琐的数据准备或访问权限等
  • 保护性拷贝
  • clone函数构造实例并不一定比new快,只有在new较为耗时或者成本较高时使用clone能提升效率

    使用:实现Cloneable接口

    注意:类内部的对象也要实现进行clone以实现深拷贝

    优点:原型模式是内存中二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环内产生大量对象时

    缺点:直接在内存中拷贝,构造函数是不会执行的,减少了约束。