当前位置:首页 > PHP教程 > php应用 > 列表

浅析php原型模式

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-30 15:45:27 浏览: 评论:0 

这篇文章主要介绍了浅析php原型模式,需要的朋友可以参考下

原型模式:

用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。

应用场景: 类的资源非常多、性能和安全要求,一般和工厂方法结合使用。

代码如下:

  1. <?php 
  2. /** 
  3.  * 原型模式 
  4.  */ 
  5. //声明一个克隆自身的接口 
  6. interface Prototype { 
  7.     function copy(); 
  8. }   
  9. //产品要实现克隆自身的操作 
  10. class Student implements Prototype { 
  11.        //简单起见,这里没有使用get set 
  12.     public $school
  13.     public $major
  14.        public $name
  15.        public function __construct($school$major$name) { 
  16.               $this->school = $school
  17.               $this->major = $major
  18.               $this->name = $name
  19.        } 
  20.        public function printInfo() { 
  21.               printf("%s,%s,%sn"$this->school, $this->major, $this->name); 
  22.        } 
  23.     public function copy() { 
  24.            return clone $this
  25.     } 
  26. $stu1 = new Student('清华大学''计算机''张三'); 
  27. $stu1->printInfo(); 
  28. $stu2 = $stu1->copy(); 
  29. $stu2->name = '李四'
  30. $stu2->printInfo(); 
  31. ?> 

这里可以看到,如果类的成员变量非常多,如果由外部创建多个新对象再一个个赋值,则效率不高代码冗余也容易出错,通过原型拷贝复制自身再进行微小修改就是另一个新对象了。

设计模式的第一部分,创建型模式就总结完了。下面还有两部分结构型设计模式和行为型设计模式稍后继续。

Tags: php原型模式

分享到: