设计模式——原型模式

1.模式动机与定义

                在软件系统中,有时候需要多次创建某一类型的对象,为了简化创建过程,可以只创建一个对象,然后再通过克隆的方式复制出多个相同的对象,这就是原型模式的设计思想。

        1.1模式动机

           在面向对象系统中,使用原型模式来复制一个对象自身,从而克隆出多个与原型对象一                摸一样的对象。

          在软件系统中,有些对象的创建过程较为复杂,而且有时候需要频繁创建,类似JavaWeb,数据库连接池等。原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象,这就是原型模式的意图所在。

        1.2模式定义

        原型模式定义:原型模式是一种对象创建型模型用原型实例指定创建对象的种类并且通过复制这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的对象,无须知道任何创建的细节。原型模式的基本工作原理是通过讲一个原型对象传给那个那发动创建的对象,这个要发动创建的对象通过请求原型对象复制原型来实现创建过程。

        英文定义:“Specify the kind of objects to create using a prototypical instance, and create new objects by copying this prototype.”

2.原型模式结构与分析

        2.1模式结构

 1.Prototype(抽象原型类)

        抽象原型类是定义具有克隆自己的方法接口,是所有具体原型类的公共父类,可以是抽象类,也可以是接口。

 2.ConcretePrototype(具体原型类)

        具体原型类实现具体的克隆方法,在克隆方法中返回一个自己的克隆对象。

 3.Client(客户类)

        客户类让一个原型克隆自身,从而创建一个新的对象。在客户类中只需要直接实例化或通过工厂方法等方法创建一个对象,再通过调用该对象的克隆方法复制得到多个相同的对象。

3.浅拷贝与深拷贝

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值