Java与模式:缺省适配器模式

简介:
 
上文谈到了适配器模式,要是Targer目标角色有20方法,那么每个适配器都要去实现接口中这些方法,这样做感觉太费劲。
 
这种情况下,可以考虑实现个默认适配器,然后实际的实现目标角色接口的类可以集成这个默认适配器,然后重写默认实现的方法即可。
 
一、原理图
 
二、例子
 
下面以一个简单例子来说明,假如有个接口,有5个方法,你需要实现这个接口,你每次只对其中一个方法感兴趣,你如何用最简单的方法去构造这个接口的实现类,看着
 
/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2008-8-2 15:30:46 
* 目标角色 
*/
 
public  interface Target { 
     void f1(); 
     void f2(); 
     void f3(); 
     void f4(); 
     void f5(); 
}
 
/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2008-8-2 15:32:04 
* 默认适配器角色,默认实现 
*/
 
public  class DefaultAdapter  implements Target { 

     public  void f1() { 
    } 

     public  void f2() { 
    } 

     public  void f3() { 
    } 

     public  void f4() { 
    } 

     public  void f5() { 
    } 
}
 
/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2008-8-2 15:33:54 
* 实际类:通过重写默认适配实现来实现自己感兴趣的部分。 
*/
 
public  class MyInteresting  extends DefaultAdapter{ 
     public  void f5(){ 
        System.out.println( "呵呵,我就对f5()方法感兴趣,别的不管了!"); 
    } 
}
 
呵呵,这下方便多了,每次只需要实际去重写一个类,而不是实现所有的接口方法。
这个在Java GUI编程中有着大量的应用。


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/90768,如需转载请自行联系原作者
相关文章
|
1月前
|
设计模式 安全 NoSQL
【设计模式】JAVA Design Patterns——Abstract-document(抽象文档模式)
【设计模式】JAVA Design Patterns——Abstract-document(抽象文档模式)
|
1月前
|
设计模式 Java API
【设计模式】JAVA Design Patterns——Combinator(功能模式)
【设计模式】JAVA Design Patterns——Combinator(功能模式)
|
1月前
|
设计模式 监控 Java
【设计模式】JAVA Design Patterns——Circuit Breaker(断路器模式)
【设计模式】JAVA Design Patterns——Circuit Breaker(断路器模式)
|
1月前
|
设计模式 Java 程序员
【设计模式】JAVA Design Patterns——Bytecode(字节码模式)
【设计模式】JAVA Design Patterns——Bytecode(字节码模式)
|
1月前
|
设计模式 算法 Java
【设计模式】JAVA Design Patterns——Builder(构造器模式)
【设计模式】JAVA Design Patterns——Builder(构造器模式)
|
1月前
|
设计模式 Java 容器
【设计模式】JAVA Design Patterns——Async Method Invocation(异步方法调用模式)
【设计模式】JAVA Design Patterns——Async Method Invocation(异步方法调用模式)
|
1月前
|
设计模式 Java API
【设计模式】JAVA Design Patterns——Aggregator Microservices(聚合器微服务模式)
【设计模式】JAVA Design Patterns——Aggregator Microservices(聚合器微服务模式)
|
1月前
|
设计模式 Java
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
|
1月前
|
设计模式 Java 数据库
【设计模式】JAVA Design Patterns——Converter(转换器模式)
转换器模式旨在实现不同类型间的双向转换,减少样板代码。它通过通用的Converter类和特定的转换器(如UserConverter)简化实例映射。Converter类包含两个Function对象,用于不同类型的转换,同时提供列表转换方法。当需要在逻辑上对应的类型间转换,或处理DTO、DO时,此模式尤为适用。
【设计模式】JAVA Design Patterns——Converter(转换器模式)
|
1月前
|
消息中间件 缓存 Java
【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署
总体框架: SaaS应用,全浏览器访问 前后端分离,多服务协同 服务可拆分,功能易扩展
56 1
【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署