结构型模式

核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的 类结构,用来解决更大的问题

适配器模式adapter

实际生活中的例子:转换器

适配器的两种方式:

1,类适配器(继承)

/**需要适配的对象
 * @author 小帆敲代码
 *
 */
public class Adaptee {
  public void request() {
   System.out.println("can do something");
  }
}

/**
 *适配器(类适配器)
 * @author 小帆敲代码
 *
 */
public class Adapter extends Adaptee implements Target {
 @Override
 public void handleReq() {
   super.request();
 }
}
/**
 * 客户端
 * @author 小帆敲代码
 *
 */
public class Client {
  public void test(Target t) {
   t.handleReq();
  }
  public static void main(String[] args) {
   Client c=new Client();
   Target t=new Adapter();
   c.test(t);
  }
}
public interface Target {
  public void handleReq();
}
2,对象适配器(组合)
/**需要适配的对象
 * @author 小帆敲代码
 *
 */
public class Adaptee {
  public void request() {
   System.out.println("can do something");
  }
}
/**
 *适配器(对象适配器)
 * @author 小帆敲代码
 *
 */
public class Adapter2 extends Adaptee implements Target {
 private Adaptee a;
 @Override
 public void handleReq() {
   a.request();
 }
 public Adapter2() {
  
 }
 public Adapter2(Adaptee a) {
  this.a=a;
 }
}
public class Client2 {
 public void test(Target t) {
  t.handleReq();
 }
 public static void main(String[] args) {
  Client c=new Client();
  Adaptee a=new Adaptee();
  Target t=new Adapter2(a);
  c.test(t);
 }
}
public interface Target {
  public void handleReq();
}

最新文章

  1. diff生成补丁与patch打补丁
  2. bzoj2141排队(辣鸡但是好写的方法)
  3. PPC MPC85xx e500学习笔记
  4. java代码生成二维码以及解析二维码
  5. Command模式
  6. ubuntu使用ssh登入不执行.bashrc解决方法
  7. 个人电脑配置FTP服务器,四张图搞定。项目需要,并自己写了个客户端实现下载和上传的功能!
  8. ECSHOP 支付宝发货确认接口,记录支付宝返回的交易号
  9. servlet案例
  10. 『重构--改善既有代码的设计』读书笔记----Extract Method
  11. 无线网络wifi (WPA/WPA2)密码破解方法
  12. hdu 1998 奇数阶魔方(找规律+模拟)
  13. log4j配置文件,用时导入jar包buildPath且将配置文件改成log4j.properties即可
  14. 微信小程序-表单笔记
  15. Java开发笔记(三十六)字符串的常用方法
  16. 谈谈当代大学生学习IT技术的必要性。
  17. Dockerfile常用指令
  18. docker 构建 https 私有仓库 Registry
  19. OracleDBconsoleorcl服务无法启动的原因及解决思路
  20. find中的-exec参数

热门文章

  1. ROM定制开发教程-Android adb命令用法与实例解析
  2. 架构师修炼之微服务部署 - Docker简介
  3. [linux] 权限问题
  4. SpringBoot word 转换为 pdf
  5. Python最佳工程实践,建立一个完美的工程项目
  6. Mysql表的对应关系
  7. 8、Flink Table API & Flink Sql API
  8. Ubuntu 设置 log 级别
  9. Hexo博客插入图片的方法
  10. 在java中使用JMH(Java Microbenchmark Harness)做性能测试