设计模式系列详解 -- 原型模式

在这里插入图片描述

原型模式简介以及使用场景?

简介:

不通过new(构造方法)创建对象,通过clone,或者copy的操作创建对象

使用场景:

1、类初始化消耗资源较多
2、new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)
3、构造函数比较复杂
4、循环体中产生大量的对象时(比较常见)

原型模式使用起来简单,但是在我们每次在clone基类或者有引用对象的时候需要我们去修改原型对象的clone方法,这不符合我们开闭原则。

在一般情况下是不建议用这种模式的除非创建的对象成本特别大,或者在一些特殊场景使用

原型模式优缺点?

优点:java自带的原型模式是基于内存二进制流的拷贝,比直接new一个对象性能上提升了许多。
可以使用深克隆方式保存对象的状态,使用原型模式将对象复制一份并将其状态保存起来,简化了创建过程
缺点:必须配备克隆或者可拷贝的方法,当对已有类进行改造的时候,需要修改代码,违背了开闭原则ÿ

猜你喜欢

转载自blog.csdn.net/weixin_45735355/article/details/125405904
今日推荐