设计模式之原型模式
来源:互联网 发布:excel多列重复数据筛选 编辑:程序博客网 时间:2024/06/05 09:25
和工厂模式类似,都是用来创建对象的,与工厂模式不同,先创建一个原型对象,在通过clone来创建一个新对象。就免去了类创建时重复的初始化。适合于大对象的创建,每次创建一个大对象都需要很大开销,如果每次new 就消耗很大,运行仅仅内存拷贝即可!
此例子通过初始化一个画布,然后进行构建简单图形,通过原型模式,只需要初始化一次画布。
<?phpnamespace yuanxing;class yuanxing{private $arr=array();private $num ;function init($num){$this->num = $num;for($i=0;$i<$num;$i++){for($j=0;$j<$num;$j++){$this->arr[$i][$j]='*';}}}function Cal($num1,$num2){for($i=0;$i<$num1;$i++){for($j=0;$j<$num2;$j++){$this->arr[$i][$j]=" ";}}for($i=0;$i<$this->num;$i++){for($j=0;$j<$this->num;$j++){ echo$this->arr[$i][$j];}echo "\n";}}}$pro = new yuanxing();$pro->init(12);$obj1 = clone $pro;$obj1->cal(10,3);echo "\n";$obj2 = clone $pro;$obj2->Cal(5,6);?>
运行结果:
1 0
- 设计模式之原型
- 设计模式之原型
- 设计模式 之 原型
- 设计模式之原型
- 设计模式之原型
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之-原型模式
- 设计模式之 原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之--原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- App开发之px象素与pt点
- loadrunner 学习笔记--AJAX
- 错误解释detached entity passed to persist
- Map的几种迭代
- 对 Linux 新手非常有用的 20 个命令
- 设计模式之原型模式
- 短路求值
- NULL赋予变量抛异常问题
- 黑马程序员-IOS-C语言基础-复杂数据类型
- c++ 中 预编译指令
- asp.net做crud
- 2014-04-01工作日志:调用dll时,防止lib文件不存在,可以使用依赖
- linux 下网络编程结构体定义对应的头文件
- MHL中的packedpixel概念