この記事では、PHP の設計パターンにおけるアダプター パターンを中心に紹介し、簡単に説明します。興味のある方は参考にしていただければ幸いです。
目標:
クラスのインターフェイスを顧客が望む別のインターフェイスに変換できるようになり、もともと互換性のないインターフェイスが連携できるようになります。一般的な理解は、さまざまなインターフェイスを統合された API インターフェイスに適応させることです。
ロール:
ターゲット適応ターゲット。このロールは、他のクラスがどのインターフェイスに変換されるかを定義します。これは、期待されるインターフェイスです。
Adapte は、適応する必要があるインターフェイスです。
Adapter アダプター、他の 2 つの役割は既存の役割であり、アダプターの役割は、Adapte および Target インターフェースを適応させるために使用されます。
アプリケーション シナリオ:
データ操作に mysql、mysqli、pdo、sqlite、postgresql などが含まれる場合、生成環境でデータベースを変更する必要がある場合、アダプターモード統一インターフェイスを使用できます。同じことがキャッシュ シナリオにも当てはまります。これにより、キャッシュ戦略 (memcache、redis、apc) の変更がより便利になります。
利点:
適応者は、アダプターを通じて適応ターゲットの適応を完了し、顧客に対して透過的であるという目的を達成します。
サンプルコード:
//适配目标,规定的接口将被适配对象实现 interface IDatabase { public function connect($host, $username, $password, $database); public function query($sql); } //适配器 class Mysql implements IDatabase { protected $connect; public function connect($host, $username, $password, $database) { $connect = mysql_connect($host, $username, $password); mysql_select_db($database, $connect); $this->connect = $connect; //... } public function query($sql) { //... } } //适配器 class Postgresql implements IDatabase { protected $connect; public function connect($host, $username, $password, $database) { $this->connect = pg_connect("host=$host dbname=$database user=$username password=$password"); //... } public function query($sql) { //... } } //客户端使用 $client = new Postgresql(); $client->query($sql);
同上:
ターゲット適応ターゲット: IDataBase インターフェイス
Adapte は適応されています。 : mysql と postgresql のデータベース操作機能
Adapter アダプター: mysql クラスと postgresql クラス
概要: 以上がこの記事の全内容です。みんなの学びが役に立ちました。
関連する推奨事項:
php はデータベースを操作して、テーブルが存在します。 メソッド
MySQLデータベースを操作するためのphpメソッドとセッションダイアログ
以上がPHP デザイン パターンのアダプター パターンを簡単に説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。