php设计模式课程---8、适配器模式是什么

一、总结

一句话总结:

充电过程中,手机充电器相对于手机和插座之间就是适配器

1、编程中的适配器是怎么回事?

写一个类(适配器),将传入的数据的格式或者内容修改为需要的,再传出去
例子:而这个类就是相当于手机和插座之间的手机充电器,传入的数据相当于插座上的电,传出的数据相当于给手机充的电
 2 class TianQi {
3 public function get(){
4 // 操作API
5 // 解析XML
6 // 一系列的复杂操作,得到
7 return ['temp'=>25.3 , 'wind'=>9.2];
8 }
9 }
10
11
12 // 到了美国,用华氏度
13 class Us {
14 public function get() {
15 $tq = new TianQi();
16 $row = $tq->get();
17 $row['temp'] = $this->trans( $row['temp'] );
18
19 return $row;
20 }
21
22 public function trans($t) {
23 return $t*9/5+32;
24 }
25 }
26
27
28 $tq = new TianQi();
29 $us = new Us();
30
31 print_r($tq->get());
32 print_r($us->get());

2、适配器模式的作用是什么?

将不适合我们使用的数据通过公式或者格式转换成我们能够使用的数据
总结:其实很多处理数据的操作都可以看做是适配器,也就是使这份数据适配了那种情况

3、适配器的操作对象和输出对象是什么?

操作对象:之前操作的结果(或者别人操作的结果)
输出对象:符合需求了的结果

二、适配器模式是什么

1、代码

 <?php
class TianQi {
public function get(){
// 操作API
// 解析XML
// 一系列的复杂操作,得到
return ['temp'=>25.3 , 'wind'=>9.2];
}
} // 到了美国,用华氏度
class Us {
public function get() {
$tq = new TianQi();
$row = $tq->get();
$row['temp'] = $this->trans( $row['temp'] ); return $row;
} public function trans($t) {
return $t*9/5+32;
}
} $tq = new TianQi();
$us = new Us(); print_r($tq->get());
print_r($us->get()); ?>
 

最新文章

  1. UVA1103
  2. XAF Spreadsheet property Editor
  3. SSH实例(7)
  4. Contest Hunter Round #70 - 连续两大交易事件杯省选模拟赛
  5. js jquery 判断函数是否存在($.isFunction函数的使用)
  6. UVALive 7324 ASCII Addition (模拟)
  7. iTerm 使用expect实现自动远程登录,登录跳板机
  8. oracle编译 失效对象方式
  9. MySQL slave状态之Seconds_Behind_Master
  10. 高性能 TCP &amp;amp; UDP 通信框架 HP-Socket v3.2.3 正式宣布
  11. Page directive must not have multiple occurrences of pageencoding
  12. 最新IP数据库 存储优化 查询性能优化 每秒解析上千万
  13. 使用Node.js+Hexo+Github搭建个人博客
  14. javascript 之 面向对象【理解对象】
  15. win10 adb(Android Debug Bridge)导出日志
  16. ajax-----readyState总结
  17. 电商sku商品推荐
  18. Tumblr 架构设计
  19. commons-logging 与log4j的关系
  20. asp.net 文件下载显示中文名称

热门文章

  1. Sql效能优化总结(续)- sql语句优化篇
  2. Android程序的打包和安装
  3. Ubuntu 18.04 初始化(server版本 )
  4. 解决ajax跨域问题的多种方法
  5. 使用java命令运行class文件带包名时出错
  6. ios 推送 证书配置
  7. PHPstorm如何安装vue.js插件
  8. python tensorflow 学习
  9. window下python安装pip
  10. Office Web Apps Server 2013与PDF(二)