ホームページ > バックエンド開発 > PHPチュートリアル > PHP アダプター モード (Adapter) の簡単な分析、adapter_PHP チュートリアルの簡単な分析

PHP アダプター モード (Adapter) の簡単な分析、adapter_PHP チュートリアルの簡単な分析

WBOY
リリース: 2016-07-13 10:13:19
オリジナル
1298 人が閲覧しました

PHPアダプターモード(アダプター)の簡単な分析、アダプターの簡単な分析

前回の記事では、デザイン パターンの特徴を紹介し、4 つの作成パターンについて詳しく説明しました。次に、構造パターンについて説明します。

1. 構造パターンとは何ですか?

構造パターンとは、クラスやオブジェクトの内部構造や外部の組み合わせを解析し、プログラム構造を最適化することでモジュール間の結合問題を解決するものです。

2. 構造パターンの種類:

アダプターモード

ブリッジモード
デコレーションモード
コンビネーションモード
外観モード
フライングドルモード
エージェントモード

1.

アダプターモード(アダプター) アダプタ パターンは、クラスのインターフェイスをクライアントが必要とする別のインターフェイスに変換することにより、互換性のないインターフェイスのために元々連携できなかったクラスが連携できるようにします。
アプリケーション シナリオ: 古いコード インターフェイスが新しいインターフェイスの要件を満たしていないか、コードが複雑すぎて変更を続けることができないか、またはサードパーティのクラス ライブラリが使用されています。

コードの実装

コードをコピーします コードは次のとおりです:
//古いコード
クラス ユーザー {
プライベート $name
関数 __construct($name) {
$this->name = $name;                                                         パブリック関数 getName() {
return $this->name;                                                         }

//新しいコード、オープンプラットフォーム標準インターフェース
インターフェース ユーザーインターフェース {
関数 getUserName(); }
クラス UserInfo は UserInterface { を実装します 保護された $user

関数 __construct($user) {
$this->user = $user;                                                         パブリック関数 getUserName() {
return $this->user->getName();                                                         }

$olduser = 新しいユーザー('張三')
echo $olduser->getName()."n"; $newuser = 新しいユーザー情報($olduser); echo $newuser->getUserName()."n";


注: ここでの新しいインターフェイスは結合メソッドを使用しています。UserInfo 内に古いインターフェイス User オブジェクトを保存するためのメンバー変数があります。この構造は実際には結合モードです。 UserInfo は User を継承することで同じ目的を達成できますが、結合度が高く、相互に影響を及ぼしますので、継承は使用しないでください。

上記はすべて、PHP デザイン パターンの構造パターン内のアダプター パターンについてです。ご不明な点がございましたら、メッセージを残してください。

http://www.bkjia.com/PHPjc/917026.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/917026.html

技術記事

PHP アダプター パターン (Adapter) の簡単な分析、アダプターの簡単な分析では、デザイン パターンの特徴を紹介し、オブジェクト インスタンスの生成方法を担当する 4 つの作成パターンについて詳しく説明しました。 ..

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート