Design Patterns -- Prototype

本文详细介绍了原型模式的概念及其应用场景。该模式通过复制实例而非创建新对象来节省时间和资源,适用于实例创建过程复杂的情况。文章还解释了如何实现原型模式,并提到了深拷贝与浅拷贝的区别。

The intent of the prototype pattern is to provide new objects by copying examples. A major difference caused by copying is that a copy typically includes some of the state of the original object.

The Prototype pattern is used when creating an instance of a class is very time-consuming or complex in some way. Then, rather than creating more instances, you make copies of the original instance, modifying them as appropriate. Prototypes can also be used whenever you need classes that differ only in the type of processing (or field)  they offer i.e. when there are many subclasses that differ only in the kind of objects they create a Prototype Pattern can be used to reduce the number of subclasses by cloning a prototype.

see UML:

some explaination:

  • Prototype  (ColorPrototype)
    • declares an interface for cloning itself
  • ConcretePrototype  (Color)
    • implements an operation for cloning itself
  • Client  (ColorManager)
    • creates a new object by asking a prototype to clone itself

    When to copy, Object.clone() can help. But the clone() is not deep copy, that's should be noticed.

     

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值