ホームページ バックエンド開発 PHPの問題 PHP におけるアダプター モードとストラテジ モードの適用

PHP におけるアダプター モードとストラテジ モードの適用

Jun 23, 2021 pm 03:17 PM
戦略パターン アダプタ

PHP には理解してマスターする必要があるパターンが多すぎます。長い間勉強して、いくつのパターンをマスターしたでしょうか? PHP でのアダプター モードとストラテジー モードの使用についてどのくらい知っていますか?この記事では、PHP でのアダプター モードとストラテジ モードの使用について説明します。一緒に学びましょう

関連する推奨事項:PHP のオブザーバー パターンとは何ですか?それの使い方?

アダプター:

世の中にはたくさんのアダプターがありますが、電源アダプターは 220v

に変換できる変圧器です。クラス 元々互換性のなかったインターフェイスが連携できるように、インターフェイスを顧客が望む別のインターフェイスに変換します。一般的な理解は、さまざまなインターフェイスを統一インターフェイスに適応させることです。

同様に、新しいファイルを作成してクラス クラスを定義します。クラス クラスにはメソッドがあります。そのようなクラスは知っていますが、持っているのはメソッドが 1 つあり、この時点でインターフェースを外部に公開する必要があるので、クラスを介してアダプター パターンを実装するにはどうすればよいでしょうか? 次のクラスは追加した新しいクラスであるため、クラスの作成を続けます。任意のメンバー メソッドを記述できます。オブジェクトを作成するときは、渡されたオブジェクトを保存する必要があります。例としてコードを見てみましょう:

<?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();
ログイン後にコピー

Strategy モード:

(1) 複数のクラスは区別のみ 異なる動作を表現する場合、Strategy モードを使用して、実行時に実行される特定の

動作を動的に選択できます。

(2) 状況に応じて異なる戦略 (アルゴリズム) を使用する必要があるか、将来的に戦略が他の方法で実装される可能性があります。

(3) 特定の戦略 (アルゴリズム) の実装の詳細は顧客には隠されており、相互に完全に独立しています。

(4) クライアントはすべての戦略クラスを知っていて、どれを使用するかを決定する必要があります。戦略モードは、クライアントがすべてのアルゴリズムまたは動作を知っている場合にのみ

適用されます。

(5) 戦略モデルは多くの戦略クラスを作成し、特定の戦略クラスごとに新しいクラスが生成されます。

利点:

1. Strategy モードでは、関連するアルゴリズム ファミリを管理する方法が提供されます

2. アルゴリズムは独立した Strategy クラスに囲まれているため、コンテキストとは独立して変更できます

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 Video Tutorial

以上がPHP におけるアダプター モードとストラテジ モードの適用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 で Wake on LAN を有効/無効にする方法 Windows 11 で Wake on LAN を有効/無効にする方法 Sep 06, 2023 pm 02:49 PM

Wake on LAN は、コンピュータを休止状態またはスリープ モードからリモートで復帰できるようにする Windows 11 のネットワーク機能です。カジュアル ユーザーはあまり使用しませんが、この機能は有線ネットワークを使用するネットワーク管理者やパワー ユーザーにとっては便利です。今回はその設定方法を説明します。自分のコンピューターが Wake on LAN をサポートしているかどうかを確認するにはどうすればよいですか?この機能を使用するには、コンピュータに次のものが必要です。 リモートからスリープ モードから復帰できるように、PC を ATX 電源に接続する必要があります。アクセス コントロール リストを作成し、ネットワーク内のすべてのルーターに追加する必要があります。ネットワーク カードは Wake-up-on-LAN 機能をサポートしている必要があります。この機能が動作するには、両方のコンピュータが同じネットワーク上にある必要があります。ほとんどのイーサネット アダプタは

USB - HDMI アダプターが Windows 11/10 で正しく動作しない USB - HDMI アダプターが Windows 11/10 で正しく動作しない Feb 19, 2024 pm 12:00 PM

USB - HDMI アダプターが Windows 上で正しく動作しないという問題が発生している場合は、グラフィック カード ドライバーが古いか、アダプター自体に問題がある可能性があります。次のコンテンツは、このジレンマを解決するのに役立ちます。 Windows 11/10 で動作しない USB to HDMI アダプタを修正する Windows 10/11 で動作しない USB to HDMI アダプタを修正するには、次の解決策を使用してください: ディスプレイ アダプタ ドライバを更新する ロールバック グラフィックス ドライバを抜き差しする USB to HDMI アダプタを抜き差しする BIOS を更新する 始めましょう。 1] ディスプレイ アダプター ドライバーを更新する 問題は、ディスプレイ アダプター ドライバーが古いか破損していることが原因で発生する可能性があります。メーカーの公式サイトからダウンロードしてみてください

Windows 11 でネットワーク接続の詳細とステータスを確認する方法 Windows 11 でネットワーク接続の詳細とステータスを確認する方法 Sep 11, 2023 pm 02:17 PM

ネットワーク接続が適切に機能していることを確認するため、または問題を解決するために、Windows 11 のネットワーク接続の詳細を確認する必要がある場合があります。これにより、IP アドレス、MAC アドレス、リンク速度、ドライバーのバージョンなどのさまざまな情報を表示できます。このガイドでは、その方法を説明します。 Windows 11 でネットワーク接続の詳細を確認するにはどうすればよいですか? 1. 「設定」アプリを使用し、+ キーを押して Windows の設定を開きます。 WindowsI 次に、左側のペインで [ネットワークとインターネット] に移動し、ネットワークの種類を選択します。この場合、これはイーサネットです。ワイヤレス ネットワークを使用している場合は、代わりに Wi-Fi ネットワークを選択します。画面の下部に次のように表示されます。

Microsoft Wi-Fi Direct 仮想アダプター: 何をするものですか? Microsoft Wi-Fi Direct 仮想アダプター: 何をするものですか? Jun 29, 2023 pm 12:33 PM

Microsoft Wi-Fi Direct 仮想アダプターが PC 上で何をするのか疑問に思われるかもしれません。このネットワーク アダプターは Microsoft 製で完全に安全ですので、ご安心ください。ただし、アダプターがアクティビティを台無しにしており、そのままにしておく価値があるかどうか疑問に思っている場合は、このガイドで知っておくべきすべてのことがわかります。 Microsoft Wi-Fi Direct 仮想アダプターは何をしますか?名前が示すように、Microsoft Wi-Fi Direct 仮想アダプターは、PC をワイヤレス ホットスポットにするのに役立ちます。これにより、他のコンピュータがあなたの PC に接続してインターネットにアクセスできるようになります。これは、ワイヤレス ネットワーク アダプターを仮想化することで実現されます。このようにして、1 つの物理ワイヤレス アダプタが 2 つの仮想ワイヤレス アダプタに変換されます。

Win7 ワイヤレス ネットワーク アダプターがありません Win7 ワイヤレス ネットワーク アダプターがありません Dec 23, 2023 pm 05:57 PM

Win7 ワイヤレス ネットワーク アダプターが表示されなくなったと多くのユーザーが報告しています。この場合、ネットワーク カードまたはネットワーク カード ドライバーに問題がある可能性があります。ネットワーク カード ドライバーを修復するか、正常なネットワーク カードを交換するだけで済みます。問題を解く。 win7 でワイヤレス ネットワーク アダプターが消えました 1. まず、[スタート] ボタンを右クリックし、[デバイス マネージャー] を選択します。 2. 次に、[ネットワーク アダプター] を見つけて、右クリックして、最初にドライバーを更新するか、最初にデバイスを無効にするかを選択します。ここをクリックして「プロパティ」をクリックすることもできます。 3. プロパティをクリックした後、上の「ドライバー」をクリックし、ここで「ドライバーの更新」をクリックします。 4. ここをクリックして、「ドライバー ファイルを自動的に検索して更新する」を選択します。 5. 完了後、コンピュータのネットワークを変更してリセットすることもできます。まずは勝利を押してください

iOS 17にアップデートしたらiPhoneが充電できなくなりましたか?できることは次のとおりです iOS 17にアップデートしたらiPhoneが充電できなくなりましたか?できることは次のとおりです Sep 21, 2023 pm 11:41 PM

iOS17の充電不具合の原因は? iOS17にアップデートした後にiPhoneが充電できなくなる理由はいくつか考えられます。可能性の 1 つは、ソフトウェア アップデートにバグがあることです。 Apple は通常、iOS アップデートのバグを迅速に修正するため、充電に関する問題が発生した場合は、新しいアップデートが利用可能かどうかを確認する価値があります。もう 1 つの可能性は、充電ケーブルまたはアダプターに問題があることです。サードパーティ製の充電ケーブルまたはアダプタを使用している場合は、それが Apple によって認定されていることを確認してください。 iPhone が充電できない問題を解決する方法 iOS17 アップデート後に iPhone が充電できない問題を解決する方法に関するヒントをいくつか紹介します: Apple 携帯電話を再起動します これにより、通常、iOS17 の充電問題の根本原因である可能性のある軽微な問題が解決されます

修正: システムドライバーがメーカーの仕様にロックされている 修正: システムドライバーがメーカーの仕様にロックされている Sep 23, 2023 pm 07:25 PM

グラフィックス ドライバーは、PC 上で最も重要なドライバーの 1 つであり、パフォーマンスとゲーム エクスペリエンスに直接影響します。ただし、インストーラーを通じてドライバーを更新するときに、多くの人が「お使いのシステムにはメーカーの仕様にロックされたドライバーがあります」というエラーが発生します。この問題は、製造元から特別にプッシュされない限り、製造元が更新を制限しているために発生します。これにより安定性が確保されますが、多くの人にとって問題になる可能性があります。それでは、今すぐ問題を解決する方法を見てみましょう。 Windows 11 でメーカーの仕様にロックされたドライバーを使用してシステムを修正するにはどうすればよいですか?もう少し複雑な解決策に進む前に、次の簡単な解決策を試してください。 コンピューターとオペレーティング システムがドライバーのシステム要件を満たしていることを確認してください。コンピュータをセーフ モードで起動してから、

Javaフレームワークにおける戦略パターンの実際の適用例は何ですか? Javaフレームワークにおける戦略パターンの実際の適用例は何ですか? Jun 05, 2024 pm 08:44 PM

Java フレームワークの戦略パターンは、クラスの動作を動的に変更するために使用されます。 具体的なアプリケーションには次のものがあります。 Spring フレームワーク: データ検証とキャッシュ管理 JakartaEE フレームワーク: トランザクション管理と依存関係注入 JSF フレームワーク: コンバーターとバリデーター、応答ライフサイクル管理

See all articles