之前在学设计模式的时候,总会去查找相关的博客文章,但发现很多博主只写了几个模式就没写下去了,当初很是不明白,为什么不写完呢,现在自己来记录这些的时候,才体会到,常用的设计模式就那么几个,例如工厂模式、策略模式、单例模式,而且现在互联网资源那么多,完全没必要自己再去码字纪录,再后来也就造成了大家都是写那么几个就不写的情况。
继续阅读 »
简介
在[PHP设计模式(八):工厂模式][2]中我们介绍了创建设计模式(Creation
patterns)中的工厂模式,下面我们将介绍另一种原型设计模式(Prototype Method)。
在PHP中,原型设计模式依靠cloning复制对象来实现。通过cloning构造的对象,将大量节省新对象的构造时间。
何时使用原型设计模式?
简单来说,当你希望根据已有的对象来创建新对象时。
为什么会有这种需求?想象一下,你在做细胞分裂的项目,每一个细胞都是一个对象,现在你有一个细胞类,每一个新的细胞都是由这个类生成的,不同的细胞只是内部的状态参数不同。
当分裂到第N代的时候,已经和初代大不一样了,你是愿意使用第N代的副本
继续阅读 »
简介
在[PHP设计模式(七):设计模式分类][2]中我们提到过创建设计模式(Creation
patterns),创建设计模式专注于设计对象(Object)和实例(Instance)的创建过程。
创建设计模式包括下面五种设计模式:
抽象工厂设计模式(Abstract Factory)
生成器模式(Builder)
工厂设计模式(Factory Method)
原型设计模式(Prototype Method)
单例设计模式(Singleton)
当程序逐渐扩展的时候,需要更多的新对象,新对象的创建不应该依赖于创建者,换句话说,新对象的创建过程,不应该依赖调用创建函数的对象。为了减少冗余,增加拓展性,工厂模式就是一种
继续阅读 »