原型模式浅析

来源:互联网 发布:汽泡水 知乎 编辑:程序博客网 时间:2024/04/28 22:28

其实在日常的开发中,对于有一些对象的创建会很复杂,而如果这个时候我们要去创建一个和之前我们创建的对象几乎一样的对象,而且只有轻微的变动的话,其实我们就可以用原型模式来做,从这个原型对象中拷贝出来。

其实总的概念就是让原型对象让它生成自己的复制品,就可以节省创建它们的大量的时间和精力,因为这样比创建各种跟父类差异很少的独立的类来说,这样的方法可复用性高,并且好维护。

原型模式的主要思想其实就是基于现有的对象去拷贝出一个新的对象,一般是来说是对象的内部有提供拷贝的的方法,通过该方法返回一个新对象。

原型模式的定义:使用原型实例指定创建对象的种类,并通过复制这个原型创建新的对象。

抽象原型类(Prototype):声明了拷贝方法的接口,可以是一个抽象类,当然也可以是一个接口

具体原型类(ConcretePrototype):具体原型类,去实现具体的拷贝操作。

客户端(Client):使用了原型对象的客户端

原型模式要求对象去实现一个可以进行拷贝自身的接口,这样我们就可以通过复制自身来拷贝出一个新对象,这里就是Prototype定义了拷贝自身的Clone接口,然后由派生类去实现,这样做的好处就是之后如果还有那些类要实现拷贝的功能直接去继承Prototype其实就可以了。然后去实现这个接口。


还有就是需要注意的是拷贝分为浅拷贝和深拷贝。