找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 405|回复: 0
打印 上一主题 下一主题

浅析php原型模式

[复制链接]

3444

主题

3465

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11142
跳转到指定楼层
楼主
发表于 2018-2-14 05:52:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            原型模式:
用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。
应用场景: 类的资源非常多、性能和安全要求,一般和工厂方法结合使用。
[U]复制代码[/U] 代码如下:
school = $school;
              $this->major = $major;
              $this->name = $name;
       }
       public function printInfo() {
              printf("%s,%s,%sn", $this->school, $this->major, $this->name);
       }
    public function copy() {
           return clone $this;
    }
}
$stu1 = new Student('清华大学', '计算机', '张三');
$stu1->printInfo();
$stu2 = $stu1->copy();
$stu2->name = '李四';
$stu2->printInfo();
?>
这里可以看到,如果类的成员变量非常多,如果由外部创建多个新对象再一个个赋值,则效率不高代码冗余也容易出错,通过原型拷贝复制自身再进行微小修改就是另一个新对象了。
设计模式的第一部分,创建型模式就总结完了。下面还有两部分结构型设计模式和行为型设计模式稍后继续。
            
            
您可能感兴趣的文章:
  • javascript 原型模式实现OOP的再研究
  • php设计模式 Prototype (原型模式)代码
  • JavaScript面向对象程序设计三 原型模式(上)
  • 构造函数+原型模式构造js自定义对象(最通用)
  • JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
  • C++设计模式之原型模式
  • JavaScript设计模式之原型模式(Object.create与prototype)介绍
  • javascript原型模式用法实例详解
  • js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
  • .NET原型模式讲解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端