zoukankan      html  css  js  c++  java
  • 原型模式

    定义:先创建好一个原型对象,然后通过clone原型对象来创建新的对象。
    好处:1.原型模式与工厂模式作用类似,都是用来创建对象
              2.免去了类创建时重复的初始化操作  
              3.原型模式适用于大对象的创建。创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可。

    $prototype = new IMoocCanvas();
    $prototype->init();

    $canvas1 = clone $prototype;
    $canvas1->rect(3, 6, 4, 12);
    $canvas1->draw();

    <?php
    namespace IMooc;

    class Canvas
    {
    public $data;

    function init($width = 20, $height = 10)
    {
    $data = array();
    for ($i = 0; $i < $height; $i++)
    {
    for ($j = 0; $j < $width; $j++)
    {
    $data[$i][$j] = '*';
    }
    }
    $this->data = $data;
    }

    function draw()
    {
    foreach ($this->data as $line)
    {
    foreach ($line as $char)
    {
    echo $char;
    }
    echo "<br/> ";
    }
    }

    function rect($a1, $a2, $b1, $b2)
    {
    foreach ($this->data as $k1 => $line)
    {
    if ($k1 < $a1 or $k1 > $a2) continue;
    foreach ($line as $k2 => $char)
    {
    if($k2 < $b1 or $k2 > $b2) continue;
    $this->data[$k1][$k2] = '&nbsp';
    }
    }
    }
    }




  • 相关阅读:
    绘制饼状图
    柱状图使用实例
    柱状图颜色区分
    bar函数与barh函数
    绘制柱状图
    绘制不同样式不同颜色的线
    Windows10没有修改hosts文件权限
    Lucene入门学习
    Kafka学习笔记
    Elasticsearch学习笔记(强推)
  • 原文地址:https://www.cnblogs.com/phonecom/p/b7c1b2a97958ed776f937f8b51cc71cb.html
Copyright © 2011-2022 走看看