background image

三个类概括

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);