网站制作学习网经验与学习→正文:委托模式
字体:

委托模式

经验与学习 2010/11/10 18:13:16  点击:不统计


今天学习php设计模式中的委托模式,委托模式是通过分配或者委托给其他对象,能够去除核心对象中的判决和复杂的功能.
转换成通俗的说法理解委托模式: 要产生不同类的对象(比如a,b类)并运用相同的方法,那么委托给一个新的类(c),采用传给新类(c)参数(a参,或者b参),并产生对应的对象(a的对象或者b的对象),并应用新类的方法(c的方法),并将产生的对象为新类(c)的一个属性.并且通过改属性(a或者b的对象)的调用自身方法.
举例说明
<?php
class a{
public $name;
function __construct(){
$this->name = "a的class";
}
function write(){
echo "this is a's method";
}
}
class b{
public $name;
function __construct(){
$this->name = "b的class";
}
function write(){
echo "this is b's method";
}
}
//http://%77%77%77%2E%66%6F%72%61%73%70%2E%63%6E
class c
{   private $obj;
function __construct($param){
$this->obj = new $param;
}
function get_name(){
return $this->obj->name;
}
function write(){
$this->obj->write();
}
}
$oc = new c("a");
echo $oc->get_name();
$oc->write();
?>
委托模式类似于工厂模式,但是不同的是工厂模式返回的是实例,委托模式是把参数传递到类内部,并将产生的类作为自己的属性来使用.
工厂模式以后会有的.


·上一篇:添加mssql中BUILTIN\Administrators >>    ·下一篇:css3.0学习 columns >>
推荐文章
最新文章