• [PHP] 原型模式-创建型设计模式


    通过创建一个原型对象,然后复制原型对象来避免通过标准的方式创建大量的对象产生的开销(new Foo())。

    大量的数据对象(比如通过ORM获取1,000,000行数据库记录然后创建每一条记录对应的对象实体)
    带构造方法、属性的类,clone的性能要比new带上构造参数的性能高不少

    这个就是原型,子类继承这个原型来搞,就是原型模式

    abstract class BookPrototype
    {
        protected string $title;
        protected string $category;
        abstract public function __clone();
        public function getTitle(): string
        {
            return $this->title;
        }
        public function setTitle(string $title)
        {
            $this->title = $title;
        }
    }
    class BarBookPrototype extends BookPrototype
    {
        protected string $category = 'Bar';
    
        public function __clone()
        {
        }
    }

    比如有循环创建对象的情况

    $fooPrototype = new FooBookPrototype();
    
    for ($i = 0; $i < 10; $i++) {
        $book = clone $fooPrototype;
        $book->setTitle('Foo Book No ' . $i);
    }
  • 相关阅读:
    开发趋势
    常用的meta
    meta基础
    HTTP请求方法GET和POST
    same-origin policy----wikipedia
    跨域——同源策略(译)
    DNS问答
    TCP/IP的整理
    鉴权方法
    Web攻击技术---OWASP top
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13810167.html
Copyright © 2020-2023  润新知