java设计模式-适配器模式
来源:互联网 发布:知乎周刊app 编辑:程序博客网 时间:2024/06/05 16:08
最近在看springmvc, 其中使用了适配器模式, 然后我根据框架中思想, 写了一下我理解的适配器模式 .
适配器接口 :
public interface HandlerAdapter { public void handle(Object handler); public boolean support(Object handler);}
具体适配器OneHandlerAdapter :
public class OneHandlerAdapter implements HandlerAdapter { // 如果适配器合适, 调用相应方法 @Override public void handle(Object handler) { if(handler instanceof OneHandler) { ((OneHandler)handler).oneHandle(); } } // 询问适配器是否符合, CustomHandlerAdapter只适合CustomHandler @Override public boolean support(Object handler) { return handler instanceof OneHandler; }}
具体适配器TwoHandlerAdapter :
public class TwoHandlerAdapter implements HandlerAdapter { // 如果适配器合适, 调用相应方法 @Override public void handle(Object handler) { if(handler instanceof TwoHandler) { ((TwoHandler)handler).twoHandle(); } } // 询问适配器是否符合, CustomHandlerAdapter只适合CustomHandler @Override public boolean support(Object handler) { return handler instanceof TwoHandler; }}
需要被适配的OneHandler :
public class OneHandler { public void oneHandle() { System.out.println("i love you one "); }}
需要被适配的TwoHandler :
public class TwoHandler { public void twoHandle() { System.out.println("i love you two"); }}
客户端使用 :
public class MainController { private List<HandlerAdapter> listAdapters = new ArrayList<>(); { listAdapters.add(new OneHandlerAdapter()); listAdapters.add(new TwoHandlerAdapter()); } public void doDispatcher() { // 1.先获取一个需要被适配的类(这个类可变,可以是从配置文件获取等) TwoHandler handler = new TwoHandler(); //OneHandler handler = new OneHandler(); // 2.然后一个一个匹配寻找合适的适配器(目标接口, 客户需要的接口) HandlerAdapter adapter = getHandlerAdapter(handler); // 3.进行使用 adapter.handle(handler); } public HandlerAdapter getHandlerAdapter(Object handler) { for(HandlerAdapter adapter : listAdapters) { if(adapter.support(handler)){ return adapter; } } return null; } public static void main(String[] args) { MainController controller = new MainController(); controller.doDispatcher(); }}
0 0
- Java 适配器设计模式
- 适配器(JAVA设计模式)
- java 适配器设计模式
- java设计模式 适配器
- Java适配器设计模式
- java适配器设计模式
- java设计模式-适配器
- java适配器设计模式
- java设计模式----适配器模式
- Java设计模式----适配器模式
- java设计模式适配器模式
- java设计模式--适配器模式
- java设计模式---适配器模式
- java设计模式---适配器模式
- JAVA 设计模式-适配器模式
- Java 设计模式 适配器模式
- Java设计模式-适配器模式
- java设计模式---适配器模式
- JAVA获取时间戳,哪个更快
- 合泰單片機SPI的調試記錄
- ConcurrentHashMap原理分析
- nginx 403 Forbidden 错误及解决办法
- (二)下载安装
- java设计模式-适配器模式
- Elasticsearch(一)【.Net客户端介绍】
- java中的compareto方法
- linux常用命令行
- AndroidStudio配置使用Git
- Java
- 3.22 sql 基础回顾
- TV 游标动画浅析
- SSH 修改tomcat中java内存