设计模式回顾系列文章: 主要针对工作中常用常见的设计模式进行整理、总结,同时分享以供大家拍砖。
------------------------------------------------
适配器模式:
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作。
大致是说:我们需要一种方式,为一个功能正确但接口不合的对象创建一个新接口。
实现时,将原有类包含在另一个类之中,让包含类与需要的接口匹配,调用被包含类的方法。
程序实现:
适配器EnumerationIterator,用于将Enumeration类适配为Iterator的接口使用方式。
public class EnumerationIterator implements Iterator{
private Enumeration enumeration;
public EnumerationIterator(Enumeration e){
this.enumeration=e;
}
public boolean hasNext(){
return enumeration.hasMoreElements();
}
public Object next(){
return enumeration.nextElement();
}
public void remove(){//Enumeration没有删除功能
throw new UnsupportedOperationException();
}
}
程序入口类:
public static void main(String[] args){
Hashtable table=new Hashtable();
table.put("a", 1);
table.put("b", 2);
table.put("c", 3);
table.put("d", 4);
table.put("e", 5);
Enumeration enumeration=table.elements();//获取Enumeration
EnumerationIterator ei=new EnumerationIterator(enumeration);//适配为Iterator
while(ei.hasNext()){//使用Iterator接口方式遍历和获取数据
System.out.println(ei.next());
}
try{
ei.remove();
}catch(UnsupportedOperationException e){
System.out.println("Enumeration Can't Remove!!!");
}
}
举例:Java IO类库中的InputStream和Reader类的适配器InputStreamReader类,以及OutputStream和Writer类的适配器OutputStreamWriter类。
分享到:
相关推荐
《设计模式:可复用面向对象软件的基础》是一本由Erich Gamma、Richard Helm等四位国际知名的软件工程师共同编写的经典之作,该书提供了面向对象软件设计中常用的模式,并通过具体的案例解释了这些模式如何帮助解决...
在第25讲中,他集中对整个系列进行了一次全面的总结,让我们一起来回顾和探讨这些设计模式的核心要点。 设计模式是经过实践验证的、在特定场景下解决常见问题的最佳解决方案。它们是面向对象设计的智慧结晶,通过...
在书中,作者们将这二十三种设计模式分成了三类,分别是创建型模式、结构型模式和行为型模式。 创建型模式包含了: 工厂方法模式( Factory Method ) 抽象工厂模式( Abstract Factory ) 单例模式( Singleton ...
在本章节中,作者可能会回顾面向对象编程的基本概念,如封装、继承、多态等,并为后面介绍的设计模式奠定理论基础。 ### 2. 设计模式举例 这部分内容将通过具体的例子来介绍设计模式的应用场景,帮助读者理解不同...
Java设计模式迷你手册是一部浓缩了Java编程领域中设计模式精华的参考书,旨在帮助开发者理解和应用这些模式,提升代码质量和可维护性。设计模式是软件工程中...总之,掌握Java设计模式是提升编程技能的关键步骤之一。
在深入探讨设计模式之前,我们首先回顾C#中的面向对象特性: 1. **封装**:通过将数据和操作这些数据的方法封装在一个类中来实现。 2. **继承**:允许创建一个新的类继承现有类的属性和行为。 3. **多态**:同一个...
最后,第25章是对全书的回顾和总结,指出设计模式的实践意义及其在软件设计中的重要开端。 这本书全面地涵盖了设计模式的基础知识,不仅适合初学者入门,也对经验丰富的开发者有很高的参考价值,有助于提升软件设计...
《精典设计模式》文档包含了丰富的软件开发中的设计模式知识,涵盖了C++和C#两种主流编程语言的应用。设计模式是解决软件设计中常见问题的经验总结...定期回顾和实践设计模式,将使你在软件开发的道路上更加得心应手。
首先,设计模式课件回顾了面向对象编程(Object-Oriented Programming,OOP)的基本原则,如封装、继承和多态,这些是设计模式依赖的基础。 接下来,课程深入讨论了GoF的设计模式。这些模式可以分为三类: 1. 创建...
适配器模式是一种结构型设计模式,它作为两个不兼容接口之间的桥梁。例如,当你喜欢的女孩有着完全不同的兴趣爱好时,你可能需要改变自己的一些习惯或行为,以便更好地适应她的喜好,从而拉近彼此的距离。 #### 7. ...
在深入探讨PetStore中企业JavaBeans(EJB)的设计模式之前,我们先来简要回顾一下什么是EJB以及为何要在PetStore这样的应用程序中使用它们。EJB是Java平台的一部分,用于构建可移植、健壮、可重用的应用程序组件。...
在最后一章中,作者们回顾了设计模式的发展历程,展望了未来可能的发展方向,并鼓励更多的软件工程师参与到模式社区中来。此外,书中还提供了一些基础类的定义和相关术语的解释,为读者提供了更全面的学习资源。 ...
设计模式是软件工程中的一种重要概念,它是在特定上下文中解决常见问题的模板或最佳实践。在Java开发中,设计模式的应用广泛且至关重要,因为它们能够提高代码的可读性、可维护性和可复用性。本篇文章将深入探讨在...
### 设计模式在Java开发中的应用 #### 一、引言 《Design Patterns Java Workbook》是一本面向中级至高级Java开发者的重要参考书籍。本书由Steve Metsker撰写,并于2002年由Addison Wesley出版社出版。它以一种实践...
对于经验丰富的开发者,它可以作为回顾和巩固设计模式知识的工具。 总之,"设计模式学习"项目旨在帮助开发者掌握Java设计模式,提高编程技巧,以便在实际开发过程中写出更高质量、更具弹性的代码。通过深入学习并...
本书首先简要回顾了设计模式的基本概念,然后提供了30种模式的详细介绍,其中包括了Sun Certified Enterprise Architect考试中的23个核心模式。这些模式被组织成四大类: 1. **创建型模式**:关注对象的创建机制,...
适配器模式是一种结构型设计模式,它可以让两个不兼容的接口能够协同工作。 **比喻理解:** 假如你遇到了一个来自异国他乡的女孩Sarah,你们之间的交流存在障碍。为了能更好地与她沟通,你需要找到一个共同的朋友,...