真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php設(shè)計(jì)模式--策略模式

策略模式:

在龍?zhí)兜鹊貐^(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站建設(shè),龍?zhí)毒W(wǎng)站建設(shè)費(fèi)用合理。

    策略模式我們無(wú)法通過(guò)字面意思來(lái)理解了:

        首先,創(chuàng)建一個(gè)接口,定義子類(lèi)的實(shí)現(xiàn)規(guī)范;

        第二步,根據(jù)不同的業(yè)務(wù)邏輯,書(shū)寫(xiě)不同的方法,同時(shí)實(shí)現(xiàn)第一步中的接口.

        第三步,寫(xiě)一個(gè)獨(dú)立的類(lèi),其中有兩個(gè)方法,第一個(gè)為初始化(傳入第二步中的子類(lèi)的對(duì)象),第二個(gè)方法   為統(tǒng)一的執(zhí)行類(lèi)(當(dāng)然有了接口這個(gè)也可以省略了).

如下圖:

php設(shè)計(jì)模式--策略模式

下面是一個(gè)完整的demo:

    

//通過(guò)接口定義子類(lèi)實(shí)現(xiàn)規(guī)范

interface Strategy{  

public function echoInfo();

}

//實(shí)現(xiàn)方法,并且每個(gè)都用不同的業(yè)務(wù)邏輯(phper,javaer)

class Phper implements Strategy{        

public function echoInfo()

{

echo "this is phper class";

}

}

class Javaer implements Strategy{

public function echoInfo()

{

echo "this is javaser class";

}

}

//建立一個(gè)獨(dú)立的類(lèi),通過(guò)其中的一個(gè)方法,傳入不同的對(duì)象來(lái)實(shí)現(xiàn)不同的處理過(guò)程

class Done{

//用來(lái)存儲(chǔ)實(shí)例化的對(duì)象

private $obj;

//通過(guò)傳入對(duì)象將對(duì)象賦給私有屬性

public function __construct(Strategy $obj)

{

$this->obj=$obj;

}

//通過(guò)統(tǒng)一的實(shí)現(xiàn)方法來(lái)實(shí)現(xiàn)不同的對(duì)象內(nèi)部的方法(因?yàn)橛薪涌诘南拗?這個(gè)也可以省略)

public function go()

{

$this->obj->echoInfo();

}

}

//實(shí)例化獨(dú)立的類(lèi),傳入不同的對(duì)象參數(shù)

$obj=new Done(new Javaer);

//輸出結(jié)果

$obj->go();

 ?>

策略模式一般用在一些輸出結(jié)果需要多樣話的地方,比如客戶可能導(dǎo)出excel表,也可能導(dǎo)出word文件,或者生成一個(gè)柱狀圖等等.


新聞標(biāo)題:php設(shè)計(jì)模式--策略模式
鏈接分享:http://weahome.cn/article/ipiscs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部