熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

php設計模式之命令模式的應用詳解

2013-11-15 12:35:24  來源: PHP編程 

  命令模式將一個請求封裝為一個對象從而你可用不同的請求對客戶進行參數化對請求排隊或記錄請求日志以及支持可撤銷操作 

  命令類
命令角色聲明了一個給所有具體命令類的抽象接口這是一個抽象角色
具體命令角色定義一個接受者和行為之間的弱耦合實現execute方法負責調用接受的相應操作execute()方法通常叫做執行方法
客戶角色創建一個具體命令對象並確定其接受者
請求者角色負責調用命令對象執行請求相關的方法叫做行動方法
接受者角色負責具體實施和執行一個請求
作用
抽象出待執行的動作以參數化對象
在不同的時刻指定排列和執行請求
支持取消操作
支持修改日志

 代碼如下:
<?php
//命令接口
interface Command{
public function execute();
}
//具體命令
class ConcreteCommand implements Command{
private $_receiver;
public function __construct($receiver){
$this>_receiver = $receiver;
}
public function execute(){
$this>_receiver>action();
}
}

//接受者
class Receiver{
private $_name;
public function __construct($name){
$this>_name = $name;
}
//行動方法
public function action(){
echo $this>_namedo action <br/>;
}
}
//請求者
class Invoker{
private $_command;
public function __construct($command){
$this>_command = $command;
}
public function action(){
$this>_command>execute();
}
}

//客戶端
class Client{
public static function main(){
$receiver = new Receiver(jaky);
$command = new ConcreteeCommand($receiver);
$invoker = new Invoker($command);
$invoker>action();
}
}
Client::main();
?>
From:http://tw.wingwit.com/Article/program/PHP/201311/21232.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.