适配器模式
来源:互联网 发布:sketch windows版 编辑:程序博客网 时间:2024/06/05 21:55
结构型模式
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那此类可以一起工作
结构图
【主要角色】
目标(Target)角色:定义客户端使用的与特定领域相关的接口,这也就是我们所期待得到的
源(Adaptee)角色:需要进行适配的接口
适配器(Adapter)角色:对Adaptee的接口与Target接口进行适配;适配器是本模式的核心,适配器把源接口转换成目标接口,此角色为具体类
【适用性】
1、你想使用一个已经存在的类,而它的接口不符合你的需求
2、你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作
3、你想使用一个已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口(仅限于对象适配器)
- <?php
- /**
- * 适配器模式
- * -------------
- * @author zhaoxuejie <zxj198468@gmail.com>
- * @package design pattern
- * @version v1.0 2011-12-14
- */
- //目标角色
- interface Target {
- public function simpleMethod1();
- public function simpleMethod2();
- }
- //源角色
- class Adaptee {
- public function simpleMethod1(){
- echo 'Adapter simpleMethod1';
- }
- }
- //类适配器角色
- class Adapter implements Target {
- private $adaptee;
- function __construct(Adaptee $adaptee) {
- $this->adaptee = $adaptee;
- }
- //委派调用Adaptee的sampleMethod1方法
- public function simpleMethod1(){
- echo $this->adaptee->simpleMethod1();
- }
- public function simpleMethod2(){
- echo 'Adapter simpleMethod2';
- }
- }
- //客户端
- class Client {
- public static function main() {
- $adaptee = new Adaptee();
- $adapter = new Adapter($adaptee);
- $adapter->simpleMethod1();
- $adapter->simpleMethod2();
- }
- }
- Client::main();
- ?>
0 0
- 适配器及适配器模式
- 适配器及适配器模式
- 适配器模式(类适配器)
- 适配器模式(默认适配器)
- 适配器模式(对象适配器)
- 适配器模式-类适配器
- 适配器模式-对象适配器
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- setTimeout延时0毫秒的作用
- 封装、访问控制符与包及两种导入
- GDI+ Graphics类
- Cassandra单节点安装
- 中小型服务开发的主要事项
- 适配器模式
- vijos p1003 等价表达式 题解
- SQL中两个关联表批量更新数据的方法
- Android蓝牙编程入门
- poj 3764 The xor-longest Path(字典树)
- C++ Primer Plus 第四章答案哒!
- android下的几种有用的style
- 一个Flash开发者从入门到放弃的成长之路
- POJ 2253 Frogger(最小最大距离)