首页 / PHP / PHP兑现适配器(Adapter)模式
PHP兑现适配器(Adapter)模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP兑现适配器(Adapter)模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2273字,纯文字阅读大概需要4分钟。
内容图文
![PHP兑现适配器(Adapter)模式](/upload/InfoBanner/zyjiaocheng/218/3685ba1effcb48278963aa5830264545.jpg)
适配器模式核心思想:把对某些相似的类的操作转化为一个统一的“接口”(这里是比喻的说话)--适配器,或者比喻为一个“界面”,统一或屏蔽了那些类的细节。适配器模式还构造了一种“机制”,使“适配”的类可以很容易的增减,而不用修改与适配器交互的代码,符合“减少代码间耦合”的设计原则。
??? 以下示例,用接近伪码的 PHP 语法,演示了一个数据库操作的适配器类,它可以操作 MySQL 和 Oracle 数据库,但使用了相同的方法。由于使用了适配器(Adapter)模式,我们不必关心 MySQL 和 Oracle 数据库操作类的不同。
??? 我们还可以方便的添加进 SQLite 等数据库操作的类,“插入”适配器中,立即就可以用操作 MySQL 和 Oracle 相同的方法来操作 SQLite 数据库了。
??? //适配器类:
??? //定义了4个操作所有数据库的方法
db = $db_obj; } function select_record() { $this->db->select (); } function insert_record() { $this->db->insert (); } function update_record() { $this->db->update (); } function delete_record() { $this->db->delete (); } } //MySQL 数据库操作类: class Mysql { private $obj_mysql; function __construct() { $obj_mysql = ...... ; } function select() { $obj_mysql->mysql_select (); } function insert() { $obj_mysql->mysql_insert (); } function update() { $obj_mysql->mysql_update (); } function delete() { $obj_mysql->mysql_delete (); } } //Oracle 数据库操作类: class Oracle { private $obj_oracle; function __construct() { $obj_oracle = ...... ; } function select() { $obj_oracle->oracle_select (); } function insert() { $obj_oracle->oracle_insert (); } function update() { $obj_oracle->oracle_update (); } function delete() { $obj_oracle->oracle_delete (); } } //操作 MySQL 数据库: $obj = new Db_adapter(new Mysql()) $obj->select_record (); $obj->insert_record (); $obj->update_record (); $obj->delete_record (); //操作 Oracle 数据库: $obj = new Db_adapter(new Oracle()) $obj->select_record (); $obj->insert_record (); $obj->update_record (); $obj->delete_record (); ?>
???? 要求:MySQL、Oracle 类,有相同名字、相同个数的方法。方法内部实现了各自的操作数据库的代码。转换就是在这里完成的。
??? 增加新的数据库操作:构造新的类,有相同名字、相同个数的方法。方法内部实现不被关心(被屏蔽) - 不同的数据库实现不同。
??? 小缺点:新的类,可能因为疏忽,导致方法名字不合要求、个数不同。
??? 为了减少出错的可能,可以改进一下。方法就是定义一个接口,作为模板来继承,达到规范化。
??? db_adapter 类里的方法,只需要使用 interface db_driver 里函数即可。
内容总结
以上是互联网集市为您收集整理的PHP兑现适配器(Adapter)模式全部内容,希望文章能够帮你解决PHP兑现适配器(Adapter)模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。