(9)简历复印——原型模式

原型模式

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象(摘抄)

原型模式的作用在于多次创建类似对象时可以减少构造函数使用,减少代码,同时也可以提高性能。通过查看别人的博客和一些资料得知,用clone方法复制对象是直接对内存操作比重新生成一个对象效率高很多,尤其是数据十分多的对象。

class Prototype implements Cloneable
{
	
	public Object clone()
	{
		return (Object)this.clone();
	}
}

class Client{
public static void main()
{
	Prototype a = new Prototype();
	while(1){  

          Prototype B = (Prototype) a.clone();
        }
}
}

原型模式是很简单的模式,继承一个接口,重写一个方法就ok了,需要注意的一点就是 深拷贝 和 浅拷贝

java的基本数据类型会clone方法会直接深拷贝,而引用数据类型则需要自己手动深拷贝

class Prototype implements Cloneable
{
	String a;
	public Object clone()
	{
		Prototype prototype = (Prototype) this.clone();
		prototype.a = this.a;
		return prototype;
	}
}

总结

因为我对原型模式的应用比较少,以前都没有怎么考虑到效率的问题,这次学到后,以后会多留意留意。

个人感觉原型模式最大的好处就是新建对象时不需要再一个参数一个参数的去设置了,因为有些参数是相同的,直接clone方便很多,尤其是今天看到大家都说原型模式运用得好会提升整个软件的运行效率后,感觉原型模式好处也是大大滴!!!

文章导航