成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

PHP設(shè)計(jì)模式之命令模式

scq000 / 3096人閱讀

摘要:概念將來(lái)自客戶端的請(qǐng)求傳入一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化。用于行為請(qǐng)求者與行為實(shí)現(xiàn)者解耦,可實(shí)現(xiàn)二者之間的松耦合,以便適應(yīng)變化。角色命令在一個(gè)方法調(diào)用之上定義一個(gè)抽象具體的命令一個(gè)操作的實(shí)現(xiàn)調(diào)用者引用實(shí)例作為它可用的操作。

概念

將來(lái)自客戶端的請(qǐng)求傳入一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化。用于“行為請(qǐng)求者”與“行為實(shí)現(xiàn)者”解耦,可實(shí)現(xiàn)二者之間的松耦合,以便適應(yīng)變化。

角色

Command(命令):在一個(gè)方法調(diào)用之上定義一個(gè)抽象;

ConcreteCommand(具體的命令):一個(gè)操作的實(shí)現(xiàn);

Invoker(調(diào)用者):引用Command實(shí)例作為它可用的操作。

代碼

代碼如下:

 0;
    }
}

/**
 * Class ConcreteCommandTwo 具體命令2
 */
class ConcreteCommandTwo implements Command
{
    /**
     * 實(shí)現(xiàn)驗(yàn)證方法
     *
     * @param $value
     *
     * @return bool
     */
    public function isValid($value)
    {
        // 能被2整除的數(shù)字
        return $value % 2 == 0;
    }
}

/**
 * Class Invoker 調(diào)用者
 */
class Invoker
{
    protected $_rule;

    /**
     * 構(gòu)造方法
     * 接收具體命令對(duì)象
     * Invoker constructor.
     *
     * @param Command $rule
     */
    public function __construct (Command $rule)
    {
        $this->_rule = $rule;
    }

    public function process(array $numbers)
    {
        foreach ($numbers as $n) {
            if ($this->_rule->IsValid($n)) {
                echo $n, "
";
            }
        }
    }
}

/**
 * Class Client 客戶端
 */
class Client {
    /**
     * 測(cè)試
     */
    public static function test()
    {
        $invoker = new Invoker(new ConcreteCommand());
        $invoker->process(array(-1,-4,-8,1, 10, 15, 20, 36, 48, 59,111));
        echo "
"; $invoker = new Invoker(new ConcreteCommandTwo()); $invoker->process(array(-1,-4,-8,1, 10, 15, 20, 36, 48, 59,111)); } } // 執(zhí)行測(cè)試 Client::test();

運(yùn)行結(jié)果:

1 10 15 20 36 48 59 111 
-4 -8 10 20 36 48

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/22070.html

相關(guān)文章

  • php設(shè)計(jì)模式命令模式

    摘要:命令模式概念將請(qǐng)求封裝成對(duì)象,以便使用不同的請(qǐng)求隊(duì)列或者日志來(lái)參數(shù)化其他對(duì)象。命令模式也支持可撤銷的操作。從而實(shí)現(xiàn)行為請(qǐng)求者與行為實(shí)現(xiàn)者的松耦合。 命令模式概念 將請(qǐng)求封裝成對(duì)象,以便使用不同的請(qǐng)求、隊(duì)列或者日志來(lái)參數(shù)化其他對(duì)象。命令模式也支持可撤銷的操作。從而實(shí)現(xiàn)行為請(qǐng)求者與行為實(shí)現(xiàn)者的松耦合。 命令模式成員 抽象命令(Command):定義命令的接口,聲明執(zhí)行的方法(execute...

    niuxiaowei111 評(píng)論0 收藏0
  • php 設(shè)計(jì)模式工廠模式、單例模式、注冊(cè)樹模式

    摘要:的設(shè)計(jì)模式有很多種,本文取最簡(jiǎn)單的三種模式工廠模式單例模式和注冊(cè)樹模式進(jìn)行簡(jiǎn)單的講解。文件創(chuàng)建完后,咱們回到單元測(cè)試文件文件再執(zhí)行一下單元測(cè)試命令發(fā)現(xiàn),也能返回成功,這樣的話我們就能很方便的修改任何驅(qū)動(dòng)了。 php 設(shè)計(jì)模式之工廠模式、單例模式、注冊(cè)樹模式 在軟件工程中,創(chuàng)建型設(shè)計(jì)模式承擔(dān)著對(duì)象創(chuàng)建的職責(zé),嘗試創(chuàng)建適合程序上下文的對(duì)象,對(duì)象創(chuàng)建設(shè)計(jì)模式的產(chǎn)生是由于軟件工程設(shè)計(jì)的問(wèn)題,具...

    liangzai_cool 評(píng)論0 收藏0
  • PHP回顧IO

    摘要:命令行時(shí)返回值為,標(biāo)準(zhǔn)輸入輸出均指向終端可用進(jìn)程號(hào)查看。會(huì)在腳本執(zhí)行完畢后關(guān)閉三個(gè)流,無(wú)需用戶手動(dòng)關(guān)閉。與遠(yuǎn)程網(wǎng)址交互是一個(gè)請(qǐng)求和響應(yīng)的過(guò)程,其中細(xì)節(jié)可參考本人之前的文章回顧之請(qǐng)求和回顧之響應(yīng),也可參考協(xié)議的權(quán)威文檔。 轉(zhuǎn)載請(qǐng)注明文章出處: https://tlanyan.me/php-review... PHP回顧系列目錄 PHP基礎(chǔ) web請(qǐng)求 cookie web響應(yīng) ses...

    happen 評(píng)論0 收藏0
  • php設(shè)計(jì)模式

    摘要:我們今天也來(lái)做一個(gè)萬(wàn)能遙控器設(shè)計(jì)模式適配器模式將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。今天要介紹的仍然是創(chuàng)建型設(shè)計(jì)模式的一種建造者模式。設(shè)計(jì)模式的理論知識(shí)固然重要,但 計(jì)算機(jī)程序的思維邏輯 (54) - 剖析 Collections - 設(shè)計(jì)模式 上節(jié)我們提到,類 Collections 中大概有兩類功能,第一類是對(duì)容器接口對(duì)象進(jìn)行操作,第二類是返回一個(gè)容器接口對(duì)象,上節(jié)我們介紹了...

    Dionysus_go 評(píng)論0 收藏0
  • php設(shè)計(jì)模式

    摘要:我們今天也來(lái)做一個(gè)萬(wàn)能遙控器設(shè)計(jì)模式適配器模式將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。今天要介紹的仍然是創(chuàng)建型設(shè)計(jì)模式的一種建造者模式。設(shè)計(jì)模式的理論知識(shí)固然重要,但 計(jì)算機(jī)程序的思維邏輯 (54) - 剖析 Collections - 設(shè)計(jì)模式 上節(jié)我們提到,類 Collections 中大概有兩類功能,第一類是對(duì)容器接口對(duì)象進(jìn)行操作,第二類是返回一個(gè)容器接口對(duì)象,上節(jié)我們介紹了...

    vspiders 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<