php中适配器模式的详细解析(附代码)
内容导读
收集整理的这篇技术教程文章主要介绍了php中适配器模式的详细解析(附代码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2606字,纯文字阅读大概需要4分钟。
内容图文
本篇文章给大家带来的内容是关于php中适配器模式的详细解析(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。适配器模式(PHP实现)
e.g.
//目标角色
1.接口拥有多个方法
//源角色
1.只拥有部分部分方法
//适配器角色
1.委派调用源角色已经存在的方法
2.适配 增加客户端需要其他方法
//客户端
1.设置静态方法
2.实例化源角色
3.通过构造方法将注入
适配器模式(Adapter)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器让原本接口不兼容的类可以合作无间。
【适配器模式中主要角色】
目标(Target)角色:定义客户端使用的与特定领域相关的接口,这也就是我们所期待得到的
源(Adaptee)角色:需要进行适配的接口
适配器(Adapter)角色:对Adaptee的接口与Target接口进行适配;适配器是本模式的核心,适配器把源接口转换成目标接口,此角色为具体类。
其实也就是你家墙上有一个两口的插座(Adaptee),但你买了一个电风扇(Target)需要三个口的,这个时候你就需要一个插排(Adapter)。
类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。
类适配器使用的是继承
e.g.:
/** * 目标角色 */interface Target { /** * 源类也有的方法1 */ public function sampleMethod1(); /** * 源类没有的方法2 */ public function sampleMethod2();} /** * 源角色 */class Adaptee { /** * 源类含有的方法 */ public function sampleMethod1() { echo 'Adaptee sampleMethod1 <br />'; }} /** * 类适配器角色 */class Adapter extends Adaptee implements Target { /** * 源类中没有sampleMethod2方法,在此补充 */ public function sampleMethod2() { echo 'Adapter sampleMethod2 <br />'; } } class Client { /** * Main program. */ public static function main() { $adapter = new Adapter(); $adapter->sampleMethod1(); $adapter->sampleMethod2(); } }
对象适配器使用的是委派
e.g.:
/** * 目标角色 */interface Target { /** * 源类也有的方法1 */ public function sampleMethod1(); /** * 源类没有的方法2 */ public function sampleMethod2();} /** * 源角色 */class Adaptee { /** * 源类含有的方法 */ public function sampleMethod1() { echo 'Adaptee sampleMethod1 <br />'; }} /** * 类适配器角色 */class Adapter implements Target { private $_adaptee; public function __construct(Adaptee $adaptee) { $this->_adaptee = $adaptee; } /** * 委派调用Adaptee的sampleMethod1方法 */ public function sampleMethod1() { $this->_adaptee->sampleMethod1(); } /** * 源类中没有sampleMethod2方法,在此补充 */ public function sampleMethod2() { echo 'Adapter sampleMethod2 <br />'; } } class Client { /** * Main program. */ public static function main() { $adaptee = new Adaptee(); $adapter = new Adapter($adaptee); $adapter->sampleMethod1(); $adapter->sampleMethod2(); } }
相关推荐:
php如何生成HTML文件的类?php生成html文件类的方法
如何调试PHP代码?php代码调试的方法总结(推荐)
以上就是php中适配器模式的详细解析(附代码)的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php中适配器模式的详细解析(附代码)全部内容,希望文章能够帮你解决php中适配器模式的详细解析(附代码)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。