目的:
一个类的接口可以
转换成另一个接口,客户端希望使原始的不兼容接口协同
工作。
的
作用:
目标适应目标,它定义了为什么其他类被转换为不同
类型的接口,也就是我们想要的接口。
受改造者的适配器,这是需要
安装界面。
适配器适配器,另两个角色都存在的角色,和适配器的角色需要新成立的,这是用来匹配受改造者和目标接口。
应用场景:
例如,数据
操作MySQL,mysqli,PDO,SQLite,PostgreSQL等。如果环境需要改变数据库适配器
模式可以统一。同样的,相同的缓存方案将取代缓存
策略更方便(memcache,redis,APC)。
优势:
适配器适配器的适配器,以配合合适的目标,以达到透明度的客户。
示例代码:
适应目标,接口的规定将适应实现对象。
数据库接口
{
公共
功能连接(主机,
用户名,
密码,数据库);
公共
函数查询(SQL);
}
适配器
MySQL数据库的类实现
{
保护连接;
公共功能连接(主机,
用户名,密码,数据库)
{
连接= mysql_connect美元(美元美元美元的主机,用户名,密码);
mysql_select_db(元数据库,为连接);
$;
…
}
公共函数查询(SQL)
{
…
}
}
适配器
PostgreSQL数据库类的实现
{
保护连接;
公共功能连接(主机,用户名,密码,数据库)
{
美元->连接= pg_connect(主机= $主机dbname数据库用户= =美元美元美元用户名密码=密码);
…
}
公共函数查询(SQL)
{
…
}
}
客户机
客户=新的PostgreSQL(美元);
$客户机>查询(SQL);
以上:
目标:目标适应IDataBase接口
受改造者的适应性:MySQL和PostgreSQL数据库操作功能
适配器适配器:MySQL和PostgreSQL类类