三个类概括
PHP 的五种设计模式
PHP 的五种设计模式主要包括工厂模式,单元素模式,观察者模式,命令链模式,策略模式
工厂模式
单元素模式
观察者模式
命令链模式
策略模式
代码如下
:
class
people {
private
$name
= '';
private
$user
= null;
private
function
__constract(
$name
){
/*此处 private 定义辅助实现 单元素模式*/
$this
->name =
$name
;
}
public
static
function
instance(
$name
){
/*此方法实现 工厂模式*/
static
$object
= null;
/*此变量实现 单元素模式*/
if
(
is_null
(
$object
))
$object
=
new
people(
$name
);
return
$object
;
}
public
function
work_in(
$who
=null)
{
if
(
is_null
(
$who
))
echo
'error';
else
{
$this
->user[] =
$who
;
/*此数组变量实现 观察者模式*/
echo
$who
->work();
/*此方法调用实现 策略模式*/
}
}
public
function
on_action(
$which
=''){
if
(
empty
(
$which
))
echo
'error';
else
{
foreach
(
$this
->user
as
$user
)
$user
->action(
$which
);
/*此方法调用实现 命令链模式*/
}
}
}
$people
= people::instance('jack');
$people
->work_in(
new
student);
$people
->work_in(
new
teacher);