设计模式--原型模式(Prototype Pattern)

定义:

用原型实例制定建立对象的种类,并经过复制这些原型建立新的对象。函数

使用场景:

  • 类初始化须要消化很是多的资源,这个资源包括数据、硬件资源等,经过原型拷贝避免这些消耗;
  • 经过 new 产生一个对象须要很是繁琐的数据准备或访问权限,则能够使用原型模式;
  • 一个对象须要提供给其余对象访问,并且各个调用者可能都须要修改其值时,能够考虑使用原型模式拷贝多个对象供调用者使用,即保护性拷贝。

UML类图:

浅复制 & 深复制

优势:

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

缺点:

这既是它的优势也是缺点,直接在内存中拷贝,构造函数是不会执行的,在实际开发当中应该注意这个潜在的问题。优势就是减小了约束,缺点也是减小了约束,须要你们在实际应用时考虑。cdn