PHP原型模式示例如何改写为长尾关键词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1862个文字,预计阅读时间需要8分钟。
前言+原创新模式其实更形象地来说应称为克隆模式。其主要行为是对对象进行克隆,但同时又把被克隆的对象视为最初的模型。也就是说,这个模式就是这样被命名的。说真的,从使用方式上来说,克隆模式这个名字真的很形象。
前言
原型模式其实更形象的来说应该叫克隆模式。它主要的行为是对对象进行克隆,但是又把被克隆的对象称之为最初的原型,于是,这个模式就这样被命名了。说真的,从使用方式来看真的感觉叫克隆模式更贴切一些。
Gof类图及解释
GoF定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
GoF类图
代码实现
abstract class Prototype { public $v = 'clone' . PHP_EOL; public function __construct() { echo 'create' . PHP_EOL; } abstract public function __clone(); }
首先我们通过模拟的方式定义了一个原型,这里主要是模拟了__clone()这个方法。其实这是PHP自带的一个魔术方法,根本是不需要我们去进行定义的,只需要在原型类中进行实现就可以了。当外部使用clone关键字进行对象克隆时,直接就会进入这个魔术方法中。在这个魔术方法里面我们可以对属性进行处理,特别是针对引用属性进行一些独特的处理。
本文共计1862个文字,预计阅读时间需要8分钟。
前言+原创新模式其实更形象地来说应称为克隆模式。其主要行为是对对象进行克隆,但同时又把被克隆的对象视为最初的模型。也就是说,这个模式就是这样被命名的。说真的,从使用方式上来说,克隆模式这个名字真的很形象。
前言
原型模式其实更形象的来说应该叫克隆模式。它主要的行为是对对象进行克隆,但是又把被克隆的对象称之为最初的原型,于是,这个模式就这样被命名了。说真的,从使用方式来看真的感觉叫克隆模式更贴切一些。
Gof类图及解释
GoF定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
GoF类图
代码实现
abstract class Prototype { public $v = 'clone' . PHP_EOL; public function __construct() { echo 'create' . PHP_EOL; } abstract public function __clone(); }
首先我们通过模拟的方式定义了一个原型,这里主要是模拟了__clone()这个方法。其实这是PHP自带的一个魔术方法,根本是不需要我们去进行定义的,只需要在原型类中进行实现就可以了。当外部使用clone关键字进行对象克隆时,直接就会进入这个魔术方法中。在这个魔术方法里面我们可以对属性进行处理,特别是针对引用属性进行一些独特的处理。

