首頁 後端開發 PHP問題 PHP中有關於適配器模式和策略模式的運用

PHP中有關於適配器模式和策略模式的運用

Jun 23, 2021 pm 03:17 PM
策略模式 適配器

PHP中有太多模式需要我們去理解,去掌握,不知道學習了這麼久你們掌握了多少中模式了? PHP中有關於適配器模式和策略模式的運用你們有多少了解呢?這篇文章會教你們PHP中有關於適配器模式和策略模式的運用,一起學習吧

相關推薦:PHP中什麼是觀察者模式?如何運用?

適配器:

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

可將-一個類的接口轉換成客戶希望的另外-一個接口,使得原本不相容的接口能夠-一起工作。通俗的理解就是將不同接口適配成統--的接口

一樣我們新建一個文件,定義一個class類,在class類裡面有一個方法,已知這樣一個類,但是我們只有一個方法,而此時我們需要對外公開一個接口,那麼我們如何透過一個類別來實現適配器模式,我們繼續寫個類,因為下面的類是我們新增加的一個類,因此我們可以寫任何的成員方法,而且我們在創建物件的時候要保存傳遞進來的物件;我們以程式碼為例:

<?php
interface PerfectMan
{
  function cook();
  function writePhp();
}
class Wife
{
  function cook( )
{
  echo &#39;最犀利的剑,只为最强大的手所挥动<br />&#39;;
}
}
class Man implements PerfectMan
{
  protected $wife;
  //在创建对象的时候保存传递进来的对象
  function __onstruct($wife)
  {
  $this->wife = $wife;
  }
  function cook( )
  {
    $this->wife->cook();
  }
  function writePhp()
  {
    echo &#39;我会写php代码<br />&#39;;
}
}
$li = new Wife();
$ming = new Man( ) ;
$ming->writePhp();
$ming->cook();
登入後複製

#策略模式:

(1)多個類別只區別在表現行為不同,可以使用Strategy模式,在執行時動態選擇具體

#要執行的行為。

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

實作。

(3)對客戶隱藏具體策略(演算法)的實作細節,彼此完全獨立。

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

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

(5)策略模式造成很多的策略類,每個特定策略類都會產生一一個新類。

優點:

1、策略模式提供了管理相關的演算法族的辦法

2、演算法封閉在獨立的Strategy類別中使得你可以獨立於其Context改變它

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

#程式碼如下:##

<?php
interface Love
{
  function sajiao();
}
class KeAi implements Love
{
  function sajiao( )
{
  echo &#39;心怀不惧,才能翱翔于天际<br />&#39;;
}
}
class Tiger implements Love
{
  function sajiao( )
{
  echo &#39;智商太低会传染,离我远点<br />&#39; ;
}
}
class GirlFriend
{
  protected $xingge;
  function __construct($xingge)
{
  $this->xingge = $xingge ;
}
  function sajiao( )
{
  $this->xingge->sajiao();
}
}
$keai = new KeAi;
$li = new GirlFriend($keai);
$li ->sajiao();
登入後複製
執行結果如下:

PHP中有關於適配器模式和策略模式的運用

推薦學習:《

PHP影片教學

以上是PHP中有關於適配器模式和策略模式的運用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在 Windows 11 中如何啟用/停用區域網路喚醒功能 在 Windows 11 中如何啟用/停用區域網路喚醒功能 Sep 06, 2023 pm 02:49 PM

LAN喚醒是Windows11上的網路功能,有了它,您可以遠端將電腦從休眠或睡眠模式喚醒。雖然臨時用戶不經常使用它,但此功能對於使用有線網路的網路管理員和高級用戶非常有用,今天我們將向您展示如何設定它。如何知道我的電腦是否支援LAN喚醒?要使用此功能,您的電腦需要以下各項:PC需要連接到ATX電源,以便您可以遠端將其從睡眠模式喚醒。需要建立存取控制清單並將其新增至網路中的所有路由器。網路卡需要支援喚醒區域網路功能。要使此功能正常運作,兩台電腦需要位於同一網路上。雖然大多數以太網適配器通過以

USB轉HDMI轉接器在Windows 11/10上無法正常運作 USB轉HDMI轉接器在Windows 11/10上無法正常運作 Feb 19, 2024 pm 12:00 PM

如果您在Windows上遇到USB轉HDMI適配器無法正常運作的問題,可能是因為顯示卡驅動程式過時或適配器本身有問題。以下內容將幫助您解決這項困擾。修復USB轉HDMI適配器在Windows11/10上無法工作使用以下解決方案修復USB轉HDMI適配器在Windows10/11上無法正常工作:更新顯示適配器驅動程式回滾顯示卡驅動程式拔下並插入USB轉HDMI適配器已更新BIOS我們開始吧。 1]更新顯示適配器驅動程式問題可能是由於過時或損壞的顯示適配器驅動程式引起的。您可以嘗試從製造商的官方網站下載

如何在 Windows 11 上檢查網路連線詳細資訊和狀態 如何在 Windows 11 上檢查網路連線詳細資訊和狀態 Sep 11, 2023 pm 02:17 PM

為了確保您的網路連線正常運作或解決問題,有時您需要檢查Windows11上的網路連線詳細資訊。透過這樣做,您可以查看各種信息,包括您的IP位址、MAC位址、連結速度、驅動程式版本等,在本指南中,我們將向您展示如何做到這一點。如何在Windows11上找到網路連線詳細資訊? 1.使用「設定」應用程式按+鍵開啟Windows設定。 WindowsI接下來,導覽至左窗格中的網路和互聯網,然後選擇您的網路類型。在我們的例子中,這就是乙太網路。如果您使用的是無線網絡,請改為選擇Wi-Fi網路。在螢幕底部,您應該會看

Microsoft Wi-Fi 直連虛擬轉接器:它有什麼作用? Microsoft Wi-Fi 直連虛擬轉接器:它有什麼作用? Jun 29, 2023 pm 12:33 PM

您可能想知道MicrosoftWi-Fi直接虛擬適配器在您的PC上的作用。最好放心,此網路介面卡Microsoft且完全安全。但是,如果適配器弄亂了您的活動,並且您想知道它是否值得保留,本指南將為您提供您需要了解的所有資訊。 MicrosoftWi-FiDirect虛擬適配器有什麼作用?顧名思義,MicrosoftWi-Fi直接虛擬適配器有助於使您的PC成為無線熱點。這樣,其他電腦可以連接到您的PC以存取互聯網。它透過虛擬化無線網路適配器來實現此目的。這樣,您的單一實體無線適配器將轉換為兩個虛擬

iOS 17 更新後,您的 iPhone 無法充電?這是你可以做的 iOS 17 更新後,您的 iPhone 無法充電?這是你可以做的 Sep 21, 2023 pm 11:41 PM

iOS17充電問題的原因是什麼?更新到iOS17後,您的iPhone可能無法充電有幾個可能的原因。一種可能性是軟體更新中存在錯誤。 Apple通常會快速修復iOS更新中的錯誤,因此,如果您遇到充電問題,則值得檢查是否有新的更新。另一種可能性是充電電纜或適配器有問題。如果您使用的是第三方充電連接線或轉接器,請確保它已通過Apple認證。如何修復iPhone不充電問題以下是有關如何修復iOS17更新後iPhone無法充電問題的一些提示:重啟你的蘋果手機這通常可以解決可能是iOS17充電問題根本原因的小

Win7無線網路介面卡不見了 Win7無線網路介面卡不見了 Dec 23, 2023 pm 05:57 PM

很多用戶都回饋說win7無線網路適配器消失了,遇到這種情況很可能是網卡或是網卡驅動出現了問題,我們只需要修復一下網卡驅動或更換一個好的網卡就可以解決。 win7無線網路適配器消失了1、首先右鍵開始按鍵,選擇“裝置管理員”2、接著我們找到“網路介面卡”,右鍵可以選擇先更新一下驅動,或是先停用裝置再啟用,也可以在這裡點擊“屬性”3、點擊屬性之後,再點擊上方的“驅動程式”,在這裡點擊“更新驅動程式”4、點擊後這裡再選擇”自動搜尋更新驅動檔案“5、完成之後也可以把電腦的網絡重置一下。首先還是按win

修復:系統驅動程式被鎖定到製造商規格 修復:系統驅動程式被鎖定到製造商規格 Sep 23, 2023 pm 07:25 PM

圖形驅動程式是PC上最重要的驅動程式之一,直接影響效能和遊戲體驗。但是,當透過安裝程式更新驅動程式時,許多人遇到“您的系統具有鎖定到製造商規格的驅動程式”錯誤。出現此問題的原因是製造商限制更新,除非從其末端專門推送更新。這確保了穩定性,但對許多人來說可能是一個問題。因此,讓我們找出如何立即解決問題!如何修復您的系統具有鎖定在Windows11上的製造商規格的驅動程式?在我們轉向稍微複雜的解決方案之前,請先嘗試以下快速解決方案:確保你的電腦和作業系統符合驅動程式的系統要求。將電腦啟動到安全模式,然

java框架中策略模式的實際應用案例有哪些? java框架中策略模式的實際應用案例有哪些? Jun 05, 2024 pm 08:44 PM

Java框架中策略模式用於動態更改類別行為,具體應用包括:Spring框架:資料驗證和快取管理JakartaEE框架:事務管理和依賴注入JSF框架:轉換器和驗證器、回應生命週期管理

See all articles