PHP中怎么應(yīng)用適配器模式和策略模式

今天就跟大家聊聊有關(guān)PHP中怎么應(yīng)用適配器模式和策略模式,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供尚志網(wǎng)站建設(shè)、尚志做網(wǎng)站、尚志網(wǎng)站設(shè)計(jì)、尚志網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、尚志企業(yè)網(wǎng)站模板建站服務(wù),十多年尚志做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

適配器:

生活中就有很多適配器電源適配器就是里面的變壓器220v

可將-一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外-一個(gè)接口,使得原本不兼容的接口能夠-一起工作。通俗的理解就是將不同接口適配成統(tǒng)--的接口

一樣我們新建一個(gè)文件,定義一個(gè)class類,在class類里面有一個(gè)方法,已知這樣一個(gè)類,但是我們只有一個(gè)方法,而此時(shí)我們需要對(duì)外公開一個(gè)接口,那么我們?nèi)绾瓮ㄟ^一個(gè)類來實(shí)現(xiàn)適配器模式,我們繼續(xù)寫個(gè)類,因?yàn)橄旅娴念愂俏覀冃略黾拥囊粋€(gè)類,因此我們可以寫任何的成員方法,而且我們在創(chuàng)建對(duì)象的時(shí)候要保存?zhèn)鬟f進(jìn)來的對(duì)象;我們以代碼為例:

<?php
interface PerfectMan
{
  function cook();
  function writePhp();
}
class Wife
{
  function cook( )
{
  echo '最犀利的劍,只為最強(qiáng)大的手所揮動(dòng)<br />';
}
}
class Man implements PerfectMan
{
  protected $wife;
  //在創(chuàng)建對(duì)象的時(shí)候保存?zhèn)鬟f進(jìn)來的對(duì)象
  function __onstruct($wife)
  {
  $this->wife = $wife;
  }
  function cook( )
  {
    $this->wife->cook();
  }
  function writePhp()
  {
    echo '我會(huì)寫php代碼<br />';
}
}
$li = new Wife();
$ming = new Man( ) ;
$ming->writePhp();
$ming->cook();

策略模式:

(1)多個(gè)類只區(qū)別在表現(xiàn)行為不同,可以使用Strategy模式,在運(yùn)行時(shí)動(dòng)態(tài)選擇具體

要執(zhí)行的行為。

(2)需要在不同情況下使用不同的策略(算法),或者策略還可能在未來用其它方式來

實(shí)現(xiàn)。

(3)對(duì)客戶隱藏具體策略(算法)的實(shí)現(xiàn)細(xì)節(jié),彼此完全獨(dú)立。

(4)客戶端必須知道所有的策略類,并自行決定使用哪一一個(gè)策略類,策略模式只適用

于客戶端知道所有的算法或行為的情況。

(5)策略模式造成很多的策略類,每個(gè)具體策略類都會(huì)產(chǎn)生一一個(gè)新類。

優(yōu)點(diǎn):

1、策略模式提供了管理相關(guān)的算法族的辦法

2、算法封閉在獨(dú)立的Strategy類中使得你可以獨(dú)立于其Context改變它

3、使用策略模式可以避免使用多重條件轉(zhuǎn)移語句

代碼如下:

<?php
interface Love
{
  function sajiao();
}
class KeAi implements Love
{
  function sajiao( )
{
  echo '心懷不懼,才能翱翔于天際<br />';
}
}
class Tiger implements Love
{
  function sajiao( )
{
  echo '智商太低會(huì)傳染,離我遠(yuǎn)點(diǎn)<br />' ;
}
}
class GirlFriend
{
  protected $xingge;
  function __construct($xingge)
{
  $this->xingge = $xingge ;
}
  function sajiao( )
{
  $this->xingge->sajiao();
}
}
$keai = new KeAi;
$li = new GirlFriend($keai);
$li ->sajiao();

執(zhí)行結(jié)果如下:

PHP中怎么應(yīng)用適配器模式和策略模式

看完上述內(nèi)容,你們對(duì)PHP中怎么應(yīng)用適配器模式和策略模式有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

當(dāng)前題目:PHP中怎么應(yīng)用適配器模式和策略模式
鏈接URL:http://bm7419.com/article48/geigep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、用戶體驗(yàn)、網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)