为了账号安全,请及时绑定邮箱和手机立即绑定

原型模式是clone 一个原型,那为什么不用单例模式呢? 这样也很省资源啊~

原型模式是clone 一个原型,那为什么不用单例模式呢? 这样也很省资源啊~

正在回答

5 回答

clone 不仅仅是克隆一个对象, 而是把对象的初始化属性也克隆了, 而单例模式只是 防止重复实例化对象.

0 回复 有任何疑惑可以回复我~

两幅画,两幅图,如果用单例的话,这个数据$data应该是静态共享的,效果应该就是先画了图1,然后======,画图2的时候,是以图1中的$data数据为基础来留空白的,这样图2的效果就成了,一块画布,两个矩形重叠的样子。

0 回复 有任何疑惑可以回复我~

单例模式比较常见是到创建一个实例化对象,但是原型模式还带有一系列的初始化操作。

0 回复 有任何疑惑可以回复我~

单例模式是整个程序中某个类只存在一个对象,所有对该对象的改动都会被引用。很显然,作用跟原型模式是不一样的,虽然单例模式最省内存。原型模式可以创建出来某个对象的N个实例,只是创建的方法用clone而不是new,省去了初始化过程的大量开销。所以,原型模式与单例模式的作用与场景都是不同的。

0 回复 有任何疑惑可以回复我~

原型模型使用的场景是,创建新对象成本较大时可以利用已有的对象进行复制来获得,从而降低创建对象的代价,原型模式隐藏了创建对象的复杂性。只需要知道要创建对象的类型,然后通过请求就可以获得和该对象一模一样的新对象,无须知道具体的创建过程。使用的目的是创建新对象,而不是获取同一个对象实例,而且可以进行浅拷贝和深拷贝,单例模式创建的对象都是同一个,该模式只创建了一个对象,而不能创建新的对象。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

原型模式是clone 一个原型,那为什么不用单例模式呢? 这样也很省资源啊~

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信