设计模式—原型模式

发布时间 2023-07-25 12:51:29作者: 弘一

原型模式

原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。

这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。

这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。

优点

  • 原型模式是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一 个循环体内产生大量的对象时,原型模式可以更好地体现其优点。

  • 逃避构造函数的约束。这既是它的优点也是缺点,直接在内存中拷贝,构造函数是不会执行的。

使用场景

  • 资源优化场景。类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等。
  • 性能和安全要求的场景。通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。
  • 一个对象多个修改者的场景。一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑 使用原型模式拷贝多个对象供调用者使用。

设计模式的使用

  • 实现了Cloneable并重写了clone方法的方式实现。

注意事项

  • 构造函数不会被执行
  • 浅拷贝与深拷贝
  • clone与final。对象的clone与对象内的final关键字是有冲突的。要使用clone方法,类的成员变量上不要增加final关键字。