搜尋
首頁後端開發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
在 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]更新显示适配器驱动程序问题可能是由于过时或损坏的显示适配器驱动程序引起的。您可以尝试从制造商的官方网站下载

Microsoft Wi-Fi 直连虚拟适配器:它有什么作用?Microsoft Wi-Fi 直连虚拟适配器:它有什么作用?Jun 29, 2023 pm 12:33 PM

您可能想知道MicrosoftWi-Fi直接虚拟适配器在您的PC上的作用。最好放心,此网络适配器Microsoft且完全安全。但是,如果适配器弄乱了您的活动,并且您想知道它是否值得保留,本指南将为您提供您需要了解的所有信息。MicrosoftWi-FiDirect虚拟适配器有什么作用?顾名思义,MicrosoftWi-Fi直接虚拟适配器有助于使您的PC成为无线热点。这样,其他计算机可以连接到您的PC以访问互联网。它通过虚拟化无线网络适配器来实现此目的。这样,您的单个物理无线适配器将转换为两个虚拟

如何在 Windows 11 上检查网络连接详细信息和状态如何在 Windows 11 上检查网络连接详细信息和状态Sep 11, 2023 pm 02:17 PM

为了确保您的网络连接正常工作或解决问题,有时您需要检查Windows11上的网络连接详细信息。通过这样做,您可以查看各种信息,包括您的IP地址、MAC地址、链接速度、驱动程序版本等,在本指南中,我们将向您展示如何做到这一点。如何在Windows11上查找网络连接详细信息?1.使用“设置”应用按+键打开Windows设置。WindowsI接下来,导航到左窗格中的网络和互联网,然后选择您的网络类型。在我们的例子中,这就是以太网。如果您使用的是无线网络,请改为选择Wi-Fi网络。在屏幕底部,您应该会看

Win7无线网络适配器不见了Win7无线网络适配器不见了Dec 23, 2023 pm 05:57 PM

很多用户都反馈说win7无线网络适配器消失了,遇到这种情况很可能是网卡或者网卡驱动出现了问题,我们只需要修复一下网卡驱动或者更换一个好的网卡就可以解决。win7无线网络适配器消失了1、首先右键开始按键,选择“设备管理器”2、接着我们找到“网络适配器”,右键可以选择先更新一下驱动,或者是先禁用设备再启用,也可以在这里点击“属性”3、点击属性之后,再点击上方的“驱动程序”,在这里点击“更新驱动程序”4、点击后这里再选择”自动搜索更新驱动文件“5、完成之后也可以把电脑的网络重置一下。首先还是按下win

iOS 17 更新后,您的 iPhone 无法充电?这是你可以做的iOS 17 更新后,您的 iPhone 无法充电?这是你可以做的Sep 21, 2023 pm 11:41 PM

iOS17充电问题的原因是什么?更新到iOS17后,您的iPhone可能无法充电有几个可能的原因。一种可能性是软件更新中存在错误。Apple通常会快速修复iOS更新中的错误,因此,如果您遇到充电问题,则值得检查是否有新的更新。另一种可能性是充电电缆或适配器有问题。如果您使用的是第三方充电连接线或适配器,请确保它已通过Apple认证。如何修复iPhone不充电问题以下是有关如何修复iOS17更新后iPhone无法充电问题的一些提示:重启你的苹果手机这通常可以解决可能是iOS17充电问题根本原因的小

修复:系统驱动程序被锁定到制造商规格修复:系统驱动程序被锁定到制造商规格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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境