[601985]中国银河证券有限公司

//观察者形式

classObserver

{

public$observers;

publicfunctionsetState()

{

$this->notifyAll();

}

privatefunctionnotifyAll()

{

if(empty($this->observers))returnnull;

foreach($this->observersas$key=>$value){

$className=$key;

$funcName=$value;

if(method_exists($className,$funcName))

{

call_user_func(array($className,$funcName));

}

}

}

}

classBinaryObserverextendsObserver

{

public$subject;

function__construct($subject)

{

$this->subject=$subject;

$this->subject->observers['BinaryObserver']='update';

}

protectedfunctionupdate()

{

echo"BinaryString:<br/>";

}

}

classOctalObserverextendsObserver

{

public$subject;

function__construct($subject)

{

$this->subject=$subject;

$this->subject->observers['OctalObserver']='update';

//var_dump($this->subject->observers);

}

protectedfunctionupdate()

{

echo"OctalString:<br/>";

}

}

$subject=newObserver();

newBinaryObserver($subject);

newOctalObserver($subject);

$subject->setState();

发布于 2023-12-23 22:12:37
收藏
分享
海报
1
目录

    推荐阅读