本篇内容介绍了“Prototype模式的适用场景是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Prototype模式的适用场景为:当一个系统应该独立于它的产品创建、构成和表示,而且
先别管那个“而且”,只看前半句。换个说法就是将构建产品的部分从系统的其他功能中分离出来。如果只看这一点的话,抽象工厂模式同样适合。好在后面有一个"而且”,将这一条和下面三个条件(实际上是三个中的一个即可)组合起来构成了原型模式的应用场景。
• 当要实例化的类是在运行时刻指定时,例如,通过动态装载;
简单地说,动态装载就是在程序执行时通过数据(可以时保存在文件中的,或者来自通讯数据的)生成产品。与之相对的就是静态装载:产品是通过硬编码生成的。这时对象类型是在编码阶段就决定了的。例如抽象工厂生成对象时,创建动作虽然是在程序运行时被执行,但生成对象的种类等信息确是在编码阶段就已经定下来了。
• 或者为了避免创建一个与产品类层次平行的工厂类层次时;
使用抽象工厂或者工厂方法构建产品时,需要和产品种类平行的Factory或Creator类。原型模式通过克隆已有对象来产生新对象,可以作为回避这个缺点的一个选项。
• 或者当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。
如果我们可以只是通过对象组合就可以生成满足需求的实例时,就可以使用原型模式,以克隆已有对象的方式来构建新实例,而不是构建新类。
“Prototype模式的适用场景是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!